generated/google/apis/servicemanagement_v1/classes.rb in google-api-client-0.11.2 vs generated/google/apis/servicemanagement_v1/classes.rb in google-api-client-0.11.3
- old
+ new
@@ -20,556 +20,22 @@
module Google
module Apis
module ServicemanagementV1
- # `QuotaLimit` defines a specific limit that applies over a specified duration
- # for a limit type. There can be at most one limit for a duration and limit
- # type combination defined within a `QuotaGroup`.
- class QuotaLimit
- include Google::Apis::Core::Hashable
-
- # Duration of this limit in textual notation. Example: "100s", "24h", "1d".
- # For duration longer than a day, only multiple of days is supported. We
- # support only "100s" and "1d" for now. Additional support will be added in
- # the future. "0" indicates indefinite duration.
- # Used by group-based quotas only.
- # Corresponds to the JSON property `duration`
- # @return [String]
- attr_accessor :duration
-
- # Free tier value displayed in the Developers Console for this limit.
- # The free tier is the number of tokens that will be subtracted from the
- # billed amount when billing is enabled.
- # This field can only be set on a limit with duration "1d", in a billable
- # group; it is invalid on any other limit. If this field is not set, it
- # defaults to 0, indicating that there is no free tier for this service.
- # Used by group-based quotas only.
- # Corresponds to the JSON property `freeTier`
- # @return [Fixnum]
- attr_accessor :free_tier
-
- # Default number of tokens that can be consumed during the specified
- # duration. This is the number of tokens assigned when a client
- # application developer activates the service for his/her project.
- # Specifying a value of 0 will block all requests. This can be used if you
- # are provisioning quota to selected consumers and blocking others.
- # Similarly, a value of -1 will indicate an unlimited quota. No other
- # negative values are allowed.
- # Used by group-based quotas only.
- # Corresponds to the JSON property `defaultLimit`
- # @return [Fixnum]
- attr_accessor :default_limit
-
- # Optional. User-visible, extended description for this quota limit.
- # Should be used only when more context is needed to understand this limit
- # than provided by the limit's display name (see: `display_name`).
- # Corresponds to the JSON property `description`
- # @return [String]
- attr_accessor :description
-
- # User-visible display name for this limit.
- # Optional. If not set, the UI will provide a default display name based on
- # the quota configuration. This field can be used to override the default
- # display name generated from the configuration.
- # Corresponds to the JSON property `displayName`
- # @return [String]
- attr_accessor :display_name
-
- # The name of the metric this quota limit applies to. The quota limits with
- # the same metric will be checked together during runtime. The metric must be
- # defined within the service config.
- # Used by metric-based quotas only.
- # Corresponds to the JSON property `metric`
- # @return [String]
- attr_accessor :metric
-
- # Tiered limit values. Also allows for regional or zone overrides for these
- # values if "/`region`" or "/`zone`" is specified in the unit field.
- # Currently supported tiers from low to high:
- # VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
- # To apply different limit values for users according to their tiers, specify
- # the values for the tiers you want to differentiate. For example:
- # `LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000`
- # The limit value for each tier is optional except for the tier STANDARD.
- # The limit value for an unspecified tier falls to the value of its next
- # tier towards tier STANDARD. For the above example, the limit value for tier
- # STANDARD is 500.
- # To apply the same limit value for all users, just specify limit value for
- # tier STANDARD. For example: `STANDARD:500`.
- # To apply a regional overide for a tier, add a map entry with key
- # "<TIER>/<region>", where <region> is a region name. Similarly, for a zone
- # override, add a map entry with key "<TIER>/`zone`".
- # Further, a wildcard can be used at the end of a zone name in order to
- # specify zone level overrides. For example:
- # LOW: 10, STANDARD: 50, HIGH: 100,
- # LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
- # LOW/us-central1-*: 10, STANDARD/us-central1-*: 20, HIGH/us-central1-*: 80
- # The regional overrides tier set for each region must be the same as
- # the tier set for default limit values. Same rule applies for zone overrides
- # tier as well.
- # Used by metric-based quotas only.
- # Corresponds to the JSON property `values`
- # @return [Hash<String,Fixnum>]
- attr_accessor :values
-
- # Specify the unit of the quota limit. It uses the same syntax as
- # Metric.unit. The supported unit kinds are determined by the quota
- # backend system.
- # The [Google Service Control](https://cloud.google.com/service-control)
- # supports the following unit components:
- # * One of the time intevals:
- # * "/min" for quota every minute.
- # * "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
- # * Otherwise the quota won't be reset by time, such as storage limit.
- # * One and only one of the granted containers:
- # * "/`organization`" quota for an organization.
- # * "/`project`" quota for a project.
- # * "/`folder`" quota for a folder.
- # * "/`resource`" quota for a universal resource.
- # * Zero or more quota segmentation dimension. Not all combos are valid.
- # * "/`region`" quota for every region. Not to be used with time intervals.
- # * Otherwise the resources granted on the target is not segmented.
- # * "/`zone`" quota for every zone. Not to be used with time intervals.
- # * Otherwise the resources granted on the target is not segmented.
- # * "/`resource`" quota for a resource associated with a project or org.
- # Here are some examples:
- # * "1/min/`project`" for quota per minute per project.
- # * "1/min/`user`" for quota per minute per user.
- # * "1/min/`organization`" for quota per minute per organization.
- # Note: the order of unit components is insignificant.
- # The "1" at the beginning is required to follow the metric unit syntax.
- # Used by metric-based quotas only.
- # Corresponds to the JSON property `unit`
- # @return [String]
- attr_accessor :unit
-
- # Maximum number of tokens that can be consumed during the specified
- # duration. Client application developers can override the default limit up
- # to this maximum. If specified, this value cannot be set to a value less
- # than the default limit. If not specified, it is set to the default limit.
- # To allow clients to apply overrides with no upper bound, set this to -1,
- # indicating unlimited maximum quota.
- # Used by group-based quotas only.
- # Corresponds to the JSON property `maxLimit`
- # @return [Fixnum]
- attr_accessor :max_limit
-
- # Name of the quota limit. The name is used to refer to the limit when
- # overriding the default limit on per-consumer basis.
- # For group-based quota limits, the name must be unique within the quota
- # group. If a name is not provided, it will be generated from the limit_by
- # and duration fields.
- # For metric-based quota limits, the name must be provided, and it must be
- # unique within the service. The name can only include alphanumeric
- # characters as well as '-'.
- # The maximum length of the limit name is 64 characters.
- # The name of a limit is used as a unique identifier for this limit.
- # Therefore, once a limit has been put into use, its name should be
- # immutable. You can use the display_name field to provide a user-friendly
- # name for the limit. The display name can be evolved over time without
- # affecting the identity of the limit.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @duration = args[:duration] if args.key?(:duration)
- @free_tier = args[:free_tier] if args.key?(:free_tier)
- @default_limit = args[:default_limit] if args.key?(:default_limit)
- @description = args[:description] if args.key?(:description)
- @display_name = args[:display_name] if args.key?(:display_name)
- @metric = args[:metric] if args.key?(:metric)
- @values = args[:values] if args.key?(:values)
- @unit = args[:unit] if args.key?(:unit)
- @max_limit = args[:max_limit] if args.key?(:max_limit)
- @name = args[:name] if args.key?(:name)
- end
- end
-
- # Method represents a method of an api.
- class MethodProp
- include Google::Apis::Core::Hashable
-
- # The URL of the output message type.
- # Corresponds to the JSON property `responseTypeUrl`
- # @return [String]
- attr_accessor :response_type_url
-
- # Any metadata attached to the method.
- # Corresponds to the JSON property `options`
- # @return [Array<Google::Apis::ServicemanagementV1::Option>]
- attr_accessor :options
-
- # If true, the response is streamed.
- # Corresponds to the JSON property `responseStreaming`
- # @return [Boolean]
- attr_accessor :response_streaming
- alias_method :response_streaming?, :response_streaming
-
- # The simple name of this method.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
- # A URL of the input message type.
- # Corresponds to the JSON property `requestTypeUrl`
- # @return [String]
- attr_accessor :request_type_url
-
- # If true, the request is streamed.
- # Corresponds to the JSON property `requestStreaming`
- # @return [Boolean]
- attr_accessor :request_streaming
- alias_method :request_streaming?, :request_streaming
-
- # The source syntax of this method.
- # Corresponds to the JSON property `syntax`
- # @return [String]
- attr_accessor :syntax
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @response_type_url = args[:response_type_url] if args.key?(:response_type_url)
- @options = args[:options] if args.key?(:options)
- @response_streaming = args[:response_streaming] if args.key?(:response_streaming)
- @name = args[:name] if args.key?(:name)
- @request_type_url = args[:request_type_url] if args.key?(:request_type_url)
- @request_streaming = args[:request_streaming] if args.key?(:request_streaming)
- @syntax = args[:syntax] if args.key?(:syntax)
- end
- end
-
- # Represents a service configuration with its name and id.
- class ConfigRef
- include Google::Apis::Core::Hashable
-
- # Resource name of a service config. It must have the following
- # format: "services/`service name`/configs/`config id`".
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @name = args[:name] if args.key?(:name)
- end
- end
-
- # Response message for ListServiceRollouts method.
- class ListServiceRolloutsResponse
- include Google::Apis::Core::Hashable
-
- # The list of rollout resources.
- # Corresponds to the JSON property `rollouts`
- # @return [Array<Google::Apis::ServicemanagementV1::Rollout>]
- attr_accessor :rollouts
-
- # The token of the next page of results.
- # Corresponds to the JSON property `nextPageToken`
- # @return [String]
- attr_accessor :next_page_token
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @rollouts = args[:rollouts] if args.key?(:rollouts)
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
- end
- end
-
- # Declares an API to be included in this API. The including API must
- # redeclare all the methods from the included API, but documentation
- # and options are inherited as follows:
- # - If after comment and whitespace stripping, the documentation
- # string of the redeclared method is empty, it will be inherited
- # from the original method.
- # - Each annotation belonging to the service config (http,
- # visibility) which is not set in the redeclared method will be
- # inherited.
- # - If an http annotation is inherited, the path pattern will be
- # modified as follows. Any version prefix will be replaced by the
- # version of the including API plus the root path if specified.
- # Example of a simple mixin:
- # package google.acl.v1;
- # service AccessControl `
- # // Get the underlying ACL object.
- # rpc GetAcl(GetAclRequest) returns (Acl) `
- # option (google.api.http).get = "/v1/`resource=**`:getAcl";
- # `
- # `
- # package google.storage.v2;
- # service Storage `
- # // rpc GetAcl(GetAclRequest) returns (Acl);
- # // Get a data record.
- # rpc GetData(GetDataRequest) returns (Data) `
- # option (google.api.http).get = "/v2/`resource=**`";
- # `
- # `
- # Example of a mixin configuration:
- # apis:
- # - name: google.storage.v2.Storage
- # mixins:
- # - name: google.acl.v1.AccessControl
- # The mixin construct implies that all methods in `AccessControl` are
- # also declared with same name and request/response types in
- # `Storage`. A documentation generator or annotation processor will
- # see the effective `Storage.GetAcl` method after inherting
- # documentation and annotations as follows:
- # service Storage `
- # // Get the underlying ACL object.
- # rpc GetAcl(GetAclRequest) returns (Acl) `
- # option (google.api.http).get = "/v2/`resource=**`:getAcl";
- # `
- # ...
- # `
- # Note how the version in the path pattern changed from `v1` to `v2`.
- # If the `root` field in the mixin is specified, it should be a
- # relative path under which inherited HTTP paths are placed. Example:
- # apis:
- # - name: google.storage.v2.Storage
- # mixins:
- # - name: google.acl.v1.AccessControl
- # root: acls
- # This implies the following inherited HTTP annotation:
- # service Storage `
- # // Get the underlying ACL object.
- # rpc GetAcl(GetAclRequest) returns (Acl) `
- # option (google.api.http).get = "/v2/acls/`resource=**`:getAcl";
- # `
- # ...
- # `
- class Mixin
- include Google::Apis::Core::Hashable
-
- # The fully qualified name of the API which is included.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
- # If non-empty specifies a path under which inherited HTTP paths
- # are rooted.
- # Corresponds to the JSON property `root`
- # @return [String]
- attr_accessor :root
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @name = args[:name] if args.key?(:name)
- @root = args[:root] if args.key?(:root)
- end
- end
-
- # The metadata associated with a long running operation resource.
- class FlowOperationMetadata
- include Google::Apis::Core::Hashable
-
- # The state of the operation with respect to cancellation.
- # Corresponds to the JSON property `cancelState`
- # @return [String]
- attr_accessor :cancel_state
-
- # Deadline for the flow to complete, to prevent orphaned Operations.
- # If the flow has not completed by this time, it may be terminated by
- # the engine, or force-failed by Operation lookup.
- # Note that this is not a hard deadline after which the Flow will
- # definitely be failed, rather it is a deadline after which it is reasonable
- # to suspect a problem and other parts of the system may kill operation
- # to ensure we don't have orphans.
- # see also: go/prevent-orphaned-operations
- # Corresponds to the JSON property `deadline`
- # @return [String]
- attr_accessor :deadline
-
- # The start time of the operation.
- # Corresponds to the JSON property `startTime`
- # @return [String]
- attr_accessor :start_time
-
- # The name of the top-level flow corresponding to this operation.
- # Must be equal to the "name" field for a FlowName enum.
- # Corresponds to the JSON property `flowName`
- # @return [String]
- attr_accessor :flow_name
-
- # The full name of the resources that this flow is directly associated with.
- # Corresponds to the JSON property `resourceNames`
- # @return [Array<String>]
- attr_accessor :resource_names
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @cancel_state = args[:cancel_state] if args.key?(:cancel_state)
- @deadline = args[:deadline] if args.key?(:deadline)
- @start_time = args[:start_time] if args.key?(:start_time)
- @flow_name = args[:flow_name] if args.key?(:flow_name)
- @resource_names = args[:resource_names] if args.key?(:resource_names)
- end
- end
-
- # Customize service error responses. For example, list any service
- # specific protobuf types that can appear in error detail lists of
- # error responses.
- # Example:
- # custom_error:
- # types:
- # - google.foo.v1.CustomError
- # - google.foo.v1.AnotherError
- class CustomError
- include Google::Apis::Core::Hashable
-
- # The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.
- # Corresponds to the JSON property `types`
- # @return [Array<String>]
- attr_accessor :types
-
- # The list of custom error rules that apply to individual API messages.
- # **NOTE:** All service configuration rules follow "last one wins" order.
- # Corresponds to the JSON property `rules`
- # @return [Array<Google::Apis::ServicemanagementV1::CustomErrorRule>]
- attr_accessor :rules
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @types = args[:types] if args.key?(:types)
- @rules = args[:rules] if args.key?(:rules)
- end
- end
-
- # Options for counters
- class CounterOptions
- include Google::Apis::Core::Hashable
-
- # The metric to update.
- # Corresponds to the JSON property `metric`
- # @return [String]
- attr_accessor :metric
-
- # The field value to attribute.
- # Corresponds to the JSON property `field`
- # @return [String]
- attr_accessor :field
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @metric = args[:metric] if args.key?(:metric)
- @field = args[:field] if args.key?(:field)
- end
- end
-
- # Defines the HTTP configuration for a service. It contains a list of
- # HttpRule, each specifying the mapping of an RPC method
- # to one or more HTTP REST API methods.
- class Http
- include Google::Apis::Core::Hashable
-
- # When set to true, URL path parmeters will be fully URI-decoded except in
- # cases of single segment matches in reserved expansion, where "%2F" will be
- # left encoded.
- # The default behavior is to not decode RFC 6570 reserved characters in multi
- # segment matches.
- # Corresponds to the JSON property `fullyDecodeReservedExpansion`
- # @return [Boolean]
- attr_accessor :fully_decode_reserved_expansion
- alias_method :fully_decode_reserved_expansion?, :fully_decode_reserved_expansion
-
- # A list of HTTP configuration rules that apply to individual API methods.
- # **NOTE:** All service configuration rules follow "last one wins" order.
- # Corresponds to the JSON property `rules`
- # @return [Array<Google::Apis::ServicemanagementV1::HttpRule>]
- attr_accessor :rules
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @fully_decode_reserved_expansion = args[:fully_decode_reserved_expansion] if args.key?(:fully_decode_reserved_expansion)
- @rules = args[:rules] if args.key?(:rules)
- end
- end
-
- # Source information used to create a Service Config
- class SourceInfo
- include Google::Apis::Core::Hashable
-
- # All files used during config generation.
- # Corresponds to the JSON property `sourceFiles`
- # @return [Array<Hash<String,Object>>]
- attr_accessor :source_files
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @source_files = args[:source_files] if args.key?(:source_files)
- end
- end
-
- # Selects and configures the service controller used by the service. The
- # service controller handles features like abuse, quota, billing, logging,
- # monitoring, etc.
- class Control
- include Google::Apis::Core::Hashable
-
- # The service control environment to use. If empty, no control plane
- # feature (like quota and billing) will be enabled.
- # Corresponds to the JSON property `environment`
- # @return [String]
- attr_accessor :environment
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @environment = args[:environment] if args.key?(:environment)
- end
- end
-
# Define a parameter's name and location. The parameter may be passed as either
# an HTTP header or a URL query parameter, and if both are passed the behavior
# is implementation-dependent.
class SystemParameter
include Google::Apis::Core::Hashable
+ # Define the HTTP header name to use for the parameter. It is case
+ # insensitive.
+ # Corresponds to the JSON property `httpHeader`
+ # @return [String]
+ attr_accessor :http_header
+
# Define the name of the parameter, such as "api_key" . It is case sensitive.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
@@ -577,53 +43,26 @@
# sensitive.
# Corresponds to the JSON property `urlQueryParameter`
# @return [String]
attr_accessor :url_query_parameter
- # Define the HTTP header name to use for the parameter. It is case
- # insensitive.
- # Corresponds to the JSON property `httpHeader`
- # @return [String]
- attr_accessor :http_header
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @http_header = args[:http_header] if args.key?(:http_header)
@name = args[:name] if args.key?(:name)
@url_query_parameter = args[:url_query_parameter] if args.key?(:url_query_parameter)
- @http_header = args[:http_header] if args.key?(:http_header)
end
end
# A single field of a message type.
class Field
include Google::Apis::Core::Hashable
- # The string value of the default value of this field. Proto2 syntax only.
- # Corresponds to the JSON property `defaultValue`
- # @return [String]
- attr_accessor :default_value
-
- # The field name.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
- # The field type URL, without the scheme, for message or enumeration
- # types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
- # Corresponds to the JSON property `typeUrl`
- # @return [String]
- attr_accessor :type_url
-
- # The field number.
- # Corresponds to the JSON property `number`
- # @return [Fixnum]
- attr_accessor :number
-
# The field type.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
@@ -652,26 +91,47 @@
# The field cardinality.
# Corresponds to the JSON property `cardinality`
# @return [String]
attr_accessor :cardinality
+ # The string value of the default value of this field. Proto2 syntax only.
+ # Corresponds to the JSON property `defaultValue`
+ # @return [String]
+ attr_accessor :default_value
+
+ # The field name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The field type URL, without the scheme, for message or enumeration
+ # types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
+ # Corresponds to the JSON property `typeUrl`
+ # @return [String]
+ attr_accessor :type_url
+
+ # The field number.
+ # Corresponds to the JSON property `number`
+ # @return [Fixnum]
+ attr_accessor :number
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @default_value = args[:default_value] if args.key?(:default_value)
- @name = args[:name] if args.key?(:name)
- @type_url = args[:type_url] if args.key?(:type_url)
- @number = args[:number] if args.key?(:number)
@kind = args[:kind] if args.key?(:kind)
@json_name = args[:json_name] if args.key?(:json_name)
@options = args[:options] if args.key?(:options)
@oneof_index = args[:oneof_index] if args.key?(:oneof_index)
@packed = args[:packed] if args.key?(:packed)
@cardinality = args[:cardinality] if args.key?(:cardinality)
+ @default_value = args[:default_value] if args.key?(:default_value)
+ @name = args[:name] if args.key?(:name)
+ @type_url = args[:type_url] if args.key?(:type_url)
+ @number = args[:number] if args.key?(:number)
end
end
# Monitoring configuration of the service.
# The example below shows how to configure monitored resources and metrics
@@ -709,34 +169,34 @@
# - library.googleapis.com/book/returned_count
# - library.googleapis.com/book/overdue_count
class Monitoring
include Google::Apis::Core::Hashable
- # Monitoring configurations for sending metrics to the consumer project.
- # There can be multiple consumer destinations, each one must have a
- # different monitored resource type. A metric can be used in at most
- # one consumer destination.
- # Corresponds to the JSON property `consumerDestinations`
- # @return [Array<Google::Apis::ServicemanagementV1::MonitoringDestination>]
- attr_accessor :consumer_destinations
-
# Monitoring configurations for sending metrics to the producer project.
# There can be multiple producer destinations, each one must have a
# different monitored resource type. A metric can be used in at most
# one producer destination.
# Corresponds to the JSON property `producerDestinations`
# @return [Array<Google::Apis::ServicemanagementV1::MonitoringDestination>]
attr_accessor :producer_destinations
+ # Monitoring configurations for sending metrics to the consumer project.
+ # There can be multiple consumer destinations, each one must have a
+ # different monitored resource type. A metric can be used in at most
+ # one consumer destination.
+ # Corresponds to the JSON property `consumerDestinations`
+ # @return [Array<Google::Apis::ServicemanagementV1::MonitoringDestination>]
+ attr_accessor :consumer_destinations
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @consumer_destinations = args[:consumer_destinations] if args.key?(:consumer_destinations)
@producer_destinations = args[:producer_destinations] if args.key?(:producer_destinations)
+ @consumer_destinations = args[:consumer_destinations] if args.key?(:consumer_destinations)
end
end
# Request message for `TestIamPermissions` method.
class TestIamPermissionsRequest
@@ -762,20 +222,10 @@
# Enum type definition.
class Enum
include Google::Apis::Core::Hashable
- # Enum type name.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
- # Enum value definitions.
- # Corresponds to the JSON property `enumvalue`
- # @return [Array<Google::Apis::ServicemanagementV1::EnumValue>]
- attr_accessor :enumvalue
-
# Protocol buffer options.
# Corresponds to the JSON property `options`
# @return [Array<Google::Apis::ServicemanagementV1::Option>]
attr_accessor :options
@@ -788,111 +238,171 @@
# The source syntax.
# Corresponds to the JSON property `syntax`
# @return [String]
attr_accessor :syntax
+ # Enum type name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Enum value definitions.
+ # Corresponds to the JSON property `enumvalue`
+ # @return [Array<Google::Apis::ServicemanagementV1::EnumValue>]
+ attr_accessor :enumvalue
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @name = args[:name] if args.key?(:name)
- @enumvalue = args[:enumvalue] if args.key?(:enumvalue)
@options = args[:options] if args.key?(:options)
@source_context = args[:source_context] if args.key?(:source_context)
@syntax = args[:syntax] if args.key?(:syntax)
+ @name = args[:name] if args.key?(:name)
+ @enumvalue = args[:enumvalue] if args.key?(:enumvalue)
end
end
- # Request message for EnableService method.
- class EnableServiceRequest
- include Google::Apis::Core::Hashable
-
- # The identity of consumer resource which service enablement will be
- # applied to.
- # The Google Service Management implementation accepts the following
- # forms:
- # - "project:<project_id>"
- # Note: this is made compatible with
- # google.api.servicecontrol.v1.Operation.consumer_id.
- # Corresponds to the JSON property `consumerId`
- # @return [String]
- attr_accessor :consumer_id
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @consumer_id = args[:consumer_id] if args.key?(:consumer_id)
- end
- end
-
# A description of a label.
class LabelDescriptor
include Google::Apis::Core::Hashable
- # A human-readable description for the label.
- # Corresponds to the JSON property `description`
- # @return [String]
- attr_accessor :description
-
# The type of data that can be assigned to the label.
# Corresponds to the JSON property `valueType`
# @return [String]
attr_accessor :value_type
# The label key.
# Corresponds to the JSON property `key`
# @return [String]
attr_accessor :key
+ # A human-readable description for the label.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @description = args[:description] if args.key?(:description)
@value_type = args[:value_type] if args.key?(:value_type)
@key = args[:key] if args.key?(:key)
+ @description = args[:description] if args.key?(:description)
end
end
# Represents a diagnostic message (error or warning)
class Diagnostic
include Google::Apis::Core::Hashable
- # The kind of diagnostic information provided.
- # Corresponds to the JSON property `kind`
- # @return [String]
- attr_accessor :kind
-
# Message describing the error or warning.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
# File name and line number of the error or warning.
# Corresponds to the JSON property `location`
# @return [String]
attr_accessor :location
+ # The kind of diagnostic information provided.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @kind = args[:kind] if args.key?(:kind)
@message = args[:message] if args.key?(:message)
@location = args[:location] if args.key?(:location)
+ @kind = args[:kind] if args.key?(:kind)
end
end
+ # Request message for EnableService method.
+ class EnableServiceRequest
+ include Google::Apis::Core::Hashable
+
+ # The identity of consumer resource which service enablement will be
+ # applied to.
+ # The Google Service Management implementation accepts the following
+ # forms:
+ # - "project:<project_id>"
+ # Note: this is made compatible with
+ # google.api.servicecontrol.v1.Operation.consumer_id.
+ # Corresponds to the JSON property `consumerId`
+ # @return [String]
+ attr_accessor :consumer_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consumer_id = args[:consumer_id] if args.key?(:consumer_id)
+ end
+ end
+
+ # A protocol buffer message type.
+ class Type
+ include Google::Apis::Core::Hashable
+
+ # The list of fields.
+ # Corresponds to the JSON property `fields`
+ # @return [Array<Google::Apis::ServicemanagementV1::Field>]
+ attr_accessor :fields
+
+ # The fully qualified message name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The list of types appearing in `oneof` definitions in this type.
+ # Corresponds to the JSON property `oneofs`
+ # @return [Array<String>]
+ attr_accessor :oneofs
+
+ # The source syntax.
+ # Corresponds to the JSON property `syntax`
+ # @return [String]
+ attr_accessor :syntax
+
+ # `SourceContext` represents information about the source of a
+ # protobuf element, like the file in which it is defined.
+ # Corresponds to the JSON property `sourceContext`
+ # @return [Google::Apis::ServicemanagementV1::SourceContext]
+ attr_accessor :source_context
+
+ # The protocol buffer options.
+ # Corresponds to the JSON property `options`
+ # @return [Array<Google::Apis::ServicemanagementV1::Option>]
+ attr_accessor :options
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @fields = args[:fields] if args.key?(:fields)
+ @name = args[:name] if args.key?(:name)
+ @oneofs = args[:oneofs] if args.key?(:oneofs)
+ @syntax = args[:syntax] if args.key?(:syntax)
+ @source_context = args[:source_context] if args.key?(:source_context)
+ @options = args[:options] if args.key?(:options)
+ end
+ end
+
# Response message for GenerateConfigReport method.
class GenerateConfigReportResponse
include Google::Apis::Core::Hashable
# ID of the service configuration this report belongs to.
@@ -929,57 +439,32 @@
@service_name = args[:service_name] if args.key?(:service_name)
@change_reports = args[:change_reports] if args.key?(:change_reports)
end
end
- # A protocol buffer message type.
- class Type
+ # Response message for ListServiceConfigs method.
+ class ListServiceConfigsResponse
include Google::Apis::Core::Hashable
- # The protocol buffer options.
- # Corresponds to the JSON property `options`
- # @return [Array<Google::Apis::ServicemanagementV1::Option>]
- attr_accessor :options
+ # The list of service configuration resources.
+ # Corresponds to the JSON property `serviceConfigs`
+ # @return [Array<Google::Apis::ServicemanagementV1::Service>]
+ attr_accessor :service_configs
- # The list of fields.
- # Corresponds to the JSON property `fields`
- # @return [Array<Google::Apis::ServicemanagementV1::Field>]
- attr_accessor :fields
-
- # The fully qualified message name.
- # Corresponds to the JSON property `name`
+ # The token of the next page of results.
+ # Corresponds to the JSON property `nextPageToken`
# @return [String]
- attr_accessor :name
+ attr_accessor :next_page_token
- # The list of types appearing in `oneof` definitions in this type.
- # Corresponds to the JSON property `oneofs`
- # @return [Array<String>]
- attr_accessor :oneofs
-
- # `SourceContext` represents information about the source of a
- # protobuf element, like the file in which it is defined.
- # Corresponds to the JSON property `sourceContext`
- # @return [Google::Apis::ServicemanagementV1::SourceContext]
- attr_accessor :source_context
-
- # The source syntax.
- # Corresponds to the JSON property `syntax`
- # @return [String]
- attr_accessor :syntax
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @options = args[:options] if args.key?(:options)
- @fields = args[:fields] if args.key?(:fields)
- @name = args[:name] if args.key?(:name)
- @oneofs = args[:oneofs] if args.key?(:oneofs)
- @source_context = args[:source_context] if args.key?(:source_context)
- @syntax = args[:syntax] if args.key?(:syntax)
+ @service_configs = args[:service_configs] if args.key?(:service_configs)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Experimental service configuration. These configuration options can
# only be used by whitelisted users.
@@ -1005,32 +490,27 @@
def update!(**args)
@authorization = args[:authorization] if args.key?(:authorization)
end
end
- # Response message for ListServiceConfigs method.
- class ListServiceConfigsResponse
+ # `Backend` defines the backend configuration for a service.
+ class Backend
include Google::Apis::Core::Hashable
- # The list of service configuration resources.
- # Corresponds to the JSON property `serviceConfigs`
- # @return [Array<Google::Apis::ServicemanagementV1::Service>]
- attr_accessor :service_configs
+ # A list of API backend rules that apply to individual API methods.
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ # Corresponds to the JSON property `rules`
+ # @return [Array<Google::Apis::ServicemanagementV1::BackendRule>]
+ attr_accessor :rules
- # The token of the next page of results.
- # Corresponds to the JSON property `nextPageToken`
- # @return [String]
- attr_accessor :next_page_token
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @service_configs = args[:service_configs] if args.key?(:service_configs)
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ @rules = args[:rules] if args.key?(:rules)
end
end
# Specifies the audit configuration for a service.
# The configuration determines which permission types are logged, and what
@@ -1080,10 +560,15 @@
# logging. It also exempts foo@gmail.com from DATA_READ logging, and
# bar@gmail.com from DATA_WRITE logging.
class AuditConfig
include Google::Apis::Core::Hashable
+ #
+ # Corresponds to the JSON property `exemptedMembers`
+ # @return [Array<String>]
+ attr_accessor :exempted_members
+
# Specifies a service that will be enabled for audit logging.
# For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
# `allServices` is a special value that covers all services.
# Corresponds to the JSON property `service`
# @return [String]
@@ -1093,47 +578,22 @@
# Next ID: 4
# Corresponds to the JSON property `auditLogConfigs`
# @return [Array<Google::Apis::ServicemanagementV1::AuditLogConfig>]
attr_accessor :audit_log_configs
- #
- # Corresponds to the JSON property `exemptedMembers`
- # @return [Array<String>]
- attr_accessor :exempted_members
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
@service = args[:service] if args.key?(:service)
@audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
end
end
- # `Backend` defines the backend configuration for a service.
- class Backend
- include Google::Apis::Core::Hashable
-
- # A list of API backend rules that apply to individual API methods.
- # **NOTE:** All service configuration rules follow "last one wins" order.
- # Corresponds to the JSON property `rules`
- # @return [Array<Google::Apis::ServicemanagementV1::BackendRule>]
- attr_accessor :rules
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @rules = args[:rules] if args.key?(:rules)
- end
- end
-
# Request message for SubmitConfigSource method.
class SubmitConfigSourceRequest
include Google::Apis::Core::Hashable
# Represents a source file which is used to generate the service configuration
@@ -1259,16 +719,22 @@
# Write a Cloud Audit log
class CloudAuditOptions
include Google::Apis::Core::Hashable
+ # The log_name to populate in the Cloud Audit Record.
+ # Corresponds to the JSON property `logName`
+ # @return [String]
+ attr_accessor :log_name
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @log_name = args[:log_name] if args.key?(:log_name)
end
end
# `SourceContext` represents information about the source of a
# protobuf element, like the file in which it is defined.
@@ -1295,10 +761,26 @@
# deleting or altering it stops data collection and makes the metric type's
# existing data unusable.
class MetricDescriptor
include Google::Apis::Core::Hashable
+ # The metric type, including its DNS name prefix. The type is not
+ # URL-encoded. All user-defined custom metric types have the DNS name
+ # `custom.googleapis.com`. Metric types should use a natural hierarchical
+ # grouping. For example:
+ # "custom.googleapis.com/invoice/paid/amount"
+ # "appengine.googleapis.com/http/server/response_latencies"
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # Whether the measurement is an integer, a floating-point number, etc.
+ # Some combinations of `metric_kind` and `value_type` might not be supported.
+ # Corresponds to the JSON property `valueType`
+ # @return [String]
+ attr_accessor :value_type
+
# Whether the metric records instantaneous values, changes to a value, etc.
# Some combinations of `metric_kind` and `value_type` might not be supported.
# Corresponds to the JSON property `metricKind`
# @return [String]
attr_accessor :metric_kind
@@ -1388,40 +870,24 @@
# 2Fpaid%2Famount"
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
- # The metric type, including its DNS name prefix. The type is not
- # URL-encoded. All user-defined custom metric types have the DNS name
- # `custom.googleapis.com`. Metric types should use a natural hierarchical
- # grouping. For example:
- # "custom.googleapis.com/invoice/paid/amount"
- # "appengine.googleapis.com/http/server/response_latencies"
- # Corresponds to the JSON property `type`
- # @return [String]
- attr_accessor :type
-
- # Whether the measurement is an integer, a floating-point number, etc.
- # Some combinations of `metric_kind` and `value_type` might not be supported.
- # Corresponds to the JSON property `valueType`
- # @return [String]
- attr_accessor :value_type
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @type = args[:type] if args.key?(:type)
+ @value_type = args[:value_type] if args.key?(:value_type)
@metric_kind = args[:metric_kind] if args.key?(:metric_kind)
@display_name = args[:display_name] if args.key?(:display_name)
@description = args[:description] if args.key?(:description)
@unit = args[:unit] if args.key?(:unit)
@labels = args[:labels] if args.key?(:labels)
@name = args[:name] if args.key?(:name)
- @type = args[:type] if args.key?(:type)
- @value_type = args[:value_type] if args.key?(:value_type)
end
end
# Response message for `ListServices` method.
class ListServicesResponse
@@ -1469,22 +935,16 @@
# Corresponds to the JSON property `features`
# @return [Array<String>]
attr_accessor :features
# The list of APIs served by this endpoint.
+ # If no APIs are specified this translates to "all APIs" exported by the
+ # service, as defined in the top-level service configuration.
# Corresponds to the JSON property `apis`
# @return [Array<String>]
attr_accessor :apis
- # DEPRECATED: This field is no longer supported. Instead of using aliases,
- # please specify multiple google.api.Endpoint for each of the intented
- # alias.
- # Additional names that this endpoint will be hosted on.
- # Corresponds to the JSON property `aliases`
- # @return [Array<String>]
- attr_accessor :aliases
-
# Allowing
# [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
# cross-domain traffic, would allow the backends served from this endpoint to
# receive and respond to HTTP OPTIONS requests. The response will be used by
# the browser to determine whether the subsequent cross-origin request is
@@ -1492,36 +952,44 @@
# Corresponds to the JSON property `allowCors`
# @return [Boolean]
attr_accessor :allow_cors
alias_method :allow_cors?, :allow_cors
- # The canonical name of this endpoint.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
+ # DEPRECATED: This field is no longer supported. Instead of using aliases,
+ # please specify multiple google.api.Endpoint for each of the intented
+ # alias.
+ # Additional names that this endpoint will be hosted on.
+ # Corresponds to the JSON property `aliases`
+ # @return [Array<String>]
+ attr_accessor :aliases
# The specification of an Internet routable address of API frontend that will
# handle requests to this [API Endpoint](https://cloud.google.com/apis/design/
# glossary).
# It should be either a valid IPv4 address or a fully-qualified domain name.
# For example, "8.8.8.8" or "myservice.appspot.com".
# Corresponds to the JSON property `target`
# @return [String]
attr_accessor :target
+ # The canonical name of this endpoint.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@features = args[:features] if args.key?(:features)
@apis = args[:apis] if args.key?(:apis)
- @aliases = args[:aliases] if args.key?(:aliases)
@allow_cors = args[:allow_cors] if args.key?(:allow_cors)
- @name = args[:name] if args.key?(:name)
+ @aliases = args[:aliases] if args.key?(:aliases)
@target = args[:target] if args.key?(:target)
+ @name = args[:name] if args.key?(:name)
end
end
# OAuth scopes are a way to define data and permissions on data. For example,
# there are scopes defined for "Read-only access to Google Calendar" and
@@ -1557,47 +1025,27 @@
def update!(**args)
@canonical_scopes = args[:canonical_scopes] if args.key?(:canonical_scopes)
end
end
- # Configuration controlling usage of a service.
- class Usage
+ # Response message for `TestIamPermissions` method.
+ class TestIamPermissionsResponse
include Google::Apis::Core::Hashable
- # Requirements that must be satisfied before a consumer project can use the
- # service. Each requirement is of the form <service.name>/<requirement-id>;
- # for example 'serviceusage.googleapis.com/billing-enabled'.
- # Corresponds to the JSON property `requirements`
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
+ # allowed.
+ # Corresponds to the JSON property `permissions`
# @return [Array<String>]
- attr_accessor :requirements
+ attr_accessor :permissions
- # The full resource name of a channel used for sending notifications to the
- # service producer.
- # Google Service Management currently only supports
- # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
- # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
- # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
- # documented in https://cloud.google.com/pubsub/docs/overview.
- # Corresponds to the JSON property `producerNotificationChannel`
- # @return [String]
- attr_accessor :producer_notification_channel
-
- # A list of usage rules that apply to individual API methods.
- # **NOTE:** All service configuration rules follow "last one wins" order.
- # Corresponds to the JSON property `rules`
- # @return [Array<Google::Apis::ServicemanagementV1::UsageRule>]
- attr_accessor :rules
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @requirements = args[:requirements] if args.key?(:requirements)
- @producer_notification_channel = args[:producer_notification_channel] if args.key?(:producer_notification_channel)
- @rules = args[:rules] if args.key?(:rules)
+ @permissions = args[:permissions] if args.key?(:permissions)
end
end
# Request message for `GetIamPolicy` method.
class GetIamPolicyRequest
@@ -1610,27 +1058,47 @@
# Update properties of this object
def update!(**args)
end
end
- # Response message for `TestIamPermissions` method.
- class TestIamPermissionsResponse
+ # Configuration controlling usage of a service.
+ class Usage
include Google::Apis::Core::Hashable
- # A subset of `TestPermissionsRequest.permissions` that the caller is
- # allowed.
- # Corresponds to the JSON property `permissions`
+ # The full resource name of a channel used for sending notifications to the
+ # service producer.
+ # Google Service Management currently only supports
+ # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
+ # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
+ # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
+ # documented in https://cloud.google.com/pubsub/docs/overview.
+ # Corresponds to the JSON property `producerNotificationChannel`
+ # @return [String]
+ attr_accessor :producer_notification_channel
+
+ # A list of usage rules that apply to individual API methods.
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ # Corresponds to the JSON property `rules`
+ # @return [Array<Google::Apis::ServicemanagementV1::UsageRule>]
+ attr_accessor :rules
+
+ # Requirements that must be satisfied before a consumer project can use the
+ # service. Each requirement is of the form <service.name>/<requirement-id>;
+ # for example 'serviceusage.googleapis.com/billing-enabled'.
+ # Corresponds to the JSON property `requirements`
# @return [Array<String>]
- attr_accessor :permissions
+ attr_accessor :requirements
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @permissions = args[:permissions] if args.key?(:permissions)
+ @producer_notification_channel = args[:producer_notification_channel] if args.key?(:producer_notification_channel)
+ @rules = args[:rules] if args.key?(:rules)
+ @requirements = args[:requirements] if args.key?(:requirements)
end
end
# `Context` defines which contexts an API requests.
# Example:
@@ -1666,10 +1134,28 @@
# A rule to be applied in a Policy.
class Rule
include Google::Apis::Core::Hashable
+ # If one or more 'not_in' clauses are specified, the rule matches
+ # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
+ # The format for in and not_in entries is the same as for members in a
+ # Binding (see google/iam/v1/policy.proto).
+ # Corresponds to the JSON property `notIn`
+ # @return [Array<String>]
+ attr_accessor :not_in
+
+ # Human-readable description of the rule.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # Additional restrictions that must be met
+ # Corresponds to the JSON property `conditions`
+ # @return [Array<Google::Apis::ServicemanagementV1::Condition>]
+ attr_accessor :conditions
+
# The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
# that match the LOG action.
# Corresponds to the JSON property `logConfig`
# @return [Array<Google::Apis::ServicemanagementV1::LogConfig>]
attr_accessor :log_config
@@ -1690,41 +1176,23 @@
# Required
# Corresponds to the JSON property `action`
# @return [String]
attr_accessor :action
- # If one or more 'not_in' clauses are specified, the rule matches
- # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
- # The format for in and not_in entries is the same as for members in a
- # Binding (see google/iam/v1/policy.proto).
- # Corresponds to the JSON property `notIn`
- # @return [Array<String>]
- attr_accessor :not_in
-
- # Human-readable description of the rule.
- # Corresponds to the JSON property `description`
- # @return [String]
- attr_accessor :description
-
- # Additional restrictions that must be met
- # Corresponds to the JSON property `conditions`
- # @return [Array<Google::Apis::ServicemanagementV1::Condition>]
- attr_accessor :conditions
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @not_in = args[:not_in] if args.key?(:not_in)
+ @description = args[:description] if args.key?(:description)
+ @conditions = args[:conditions] if args.key?(:conditions)
@log_config = args[:log_config] if args.key?(:log_config)
@in = args[:in] if args.key?(:in)
@permissions = args[:permissions] if args.key?(:permissions)
@action = args[:action] if args.key?(:action)
- @not_in = args[:not_in] if args.key?(:not_in)
- @description = args[:description] if args.key?(:description)
- @conditions = args[:conditions] if args.key?(:conditions)
end
end
# Specifies what kind of log the caller must write
class LogConfig
@@ -1765,17 +1233,10 @@
# - key: /customer_id
# description: Identifier of a library customer
class LogDescriptor
include Google::Apis::Core::Hashable
- # The set of labels that are available to describe a specific log entry.
- # Runtime requests that contain labels not specified here are
- # considered invalid.
- # Corresponds to the JSON property `labels`
- # @return [Array<Google::Apis::ServicemanagementV1::LabelDescriptor>]
- attr_accessor :labels
-
# The name of the log. It must be less than 512 characters long and can
# include the following characters: upper- and lower-case alphanumeric
# characters [A-Za-z0-9], and punctuation characters including
# slash, underscore, hyphen, period [/_-.].
# Corresponds to the JSON property `name`
@@ -1792,27 +1253,39 @@
# the user interface and should be concise.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
+ # The set of labels that are available to describe a specific log entry.
+ # Runtime requests that contain labels not specified here are
+ # considered invalid.
+ # Corresponds to the JSON property `labels`
+ # @return [Array<Google::Apis::ServicemanagementV1::LabelDescriptor>]
+ attr_accessor :labels
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @labels = args[:labels] if args.key?(:labels)
@name = args[:name] if args.key?(:name)
@description = args[:description] if args.key?(:description)
@display_name = args[:display_name] if args.key?(:display_name)
+ @labels = args[:labels] if args.key?(:labels)
end
end
# Generic specification of a source configuration file
class ConfigFile
include Google::Apis::Core::Hashable
+ # The type of configuration file this represents.
+ # Corresponds to the JSON property `fileType`
+ # @return [String]
+ attr_accessor :file_type
+
# The bytes that constitute the file.
# Corresponds to the JSON property `fileContents`
# NOTE: Values are automatically base64 encoded/decoded in the client library.
# @return [String]
attr_accessor :file_contents
@@ -1820,55 +1293,22 @@
# The file name of the configuration file (full or relative path).
# Corresponds to the JSON property `filePath`
# @return [String]
attr_accessor :file_path
- # The type of configuration file this represents.
- # Corresponds to the JSON property `fileType`
- # @return [String]
- attr_accessor :file_type
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @file_type = args[:file_type] if args.key?(:file_type)
@file_contents = args[:file_contents] if args.key?(:file_contents)
@file_path = args[:file_path] if args.key?(:file_path)
- @file_type = args[:file_type] if args.key?(:file_type)
end
end
- # A custom error rule.
- class CustomErrorRule
- include Google::Apis::Core::Hashable
-
- # Mark this message as possible payload in error response. Otherwise,
- # objects of this type will be filtered when they appear in error payload.
- # Corresponds to the JSON property `isErrorType`
- # @return [Boolean]
- attr_accessor :is_error_type
- alias_method :is_error_type?, :is_error_type
-
- # Selects messages to which this rule applies.
- # Refer to selector for syntax details.
- # Corresponds to the JSON property `selector`
- # @return [String]
- attr_accessor :selector
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @is_error_type = args[:is_error_type] if args.key?(:is_error_type)
- @selector = args[:selector] if args.key?(:selector)
- end
- end
-
# An object that describes the schema of a MonitoredResource object using a
# type name and a set of labels. For example, the monitored resource
# descriptor for Google Compute Engine VM instances has a type of
# `"gce_instance"` and specifies the use of the labels `"instance_id"` and
# `"zone"` to identify particular VM instances.
@@ -1876,17 +1316,10 @@
# provide a `list` method that returns the monitored resource descriptors used
# by the API.
class MonitoredResourceDescriptor
include Google::Apis::Core::Hashable
- # Required. A set of labels used to describe instances of this monitored
- # resource type. For example, an individual Google Cloud SQL database is
- # identified by values for the labels `"database_id"` and `"zone"`.
- # Corresponds to the JSON property `labels`
- # @return [Array<Google::Apis::ServicemanagementV1::LabelDescriptor>]
- attr_accessor :labels
-
# Optional. The resource name of the monitored resource descriptor:
# `"projects/`project_id`/monitoredResourceDescriptors/`type`"` where
# `type` is the value of the `type` field in this object and
# `project_id` is a project ID that provides API-specific context for
# accessing the type. APIs that do not use project information can use the
@@ -1914,74 +1347,139 @@
# The maximum length of this value is 256 characters.
# Corresponds to the JSON property `type`
# @return [String]
attr_accessor :type
+ # Required. A set of labels used to describe instances of this monitored
+ # resource type. For example, an individual Google Cloud SQL database is
+ # identified by values for the labels `"database_id"` and `"zone"`.
+ # Corresponds to the JSON property `labels`
+ # @return [Array<Google::Apis::ServicemanagementV1::LabelDescriptor>]
+ attr_accessor :labels
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @labels = args[:labels] if args.key?(:labels)
@name = args[:name] if args.key?(:name)
@display_name = args[:display_name] if args.key?(:display_name)
@description = args[:description] if args.key?(:description)
@type = args[:type] if args.key?(:type)
+ @labels = args[:labels] if args.key?(:labels)
end
end
- # Configuration for a custom authentication provider.
- class CustomAuthRequirements
+ # A custom error rule.
+ class CustomErrorRule
include Google::Apis::Core::Hashable
- # A configuration string containing connection information for the
- # authentication provider, typically formatted as a SmartService string
- # (go/smartservice).
- # Corresponds to the JSON property `provider`
+ # Mark this message as possible payload in error response. Otherwise,
+ # objects of this type will be filtered when they appear in error payload.
+ # Corresponds to the JSON property `isErrorType`
+ # @return [Boolean]
+ attr_accessor :is_error_type
+ alias_method :is_error_type?, :is_error_type
+
+ # Selects messages to which this rule applies.
+ # Refer to selector for syntax details.
+ # Corresponds to the JSON property `selector`
# @return [String]
- attr_accessor :provider
+ attr_accessor :selector
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @provider = args[:provider] if args.key?(:provider)
+ @is_error_type = args[:is_error_type] if args.key?(:is_error_type)
+ @selector = args[:selector] if args.key?(:selector)
end
end
+ # Defines the Media configuration for a service in case of a download.
# Use this only for Scotty Requests. Do not use this for media support using
# Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
# your configuration for Bytestream methods.
class MediaDownload
include Google::Apis::Core::Hashable
+ # DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.
+ # Specify name of the download service if one is used for download.
+ # Corresponds to the JSON property `downloadService`
+ # @return [String]
+ attr_accessor :download_service
+
+ # A boolean that determines whether a notification for the completion of a
+ # download should be sent to the backend.
+ # Corresponds to the JSON property `completeNotification`
+ # @return [Boolean]
+ attr_accessor :complete_notification
+ alias_method :complete_notification?, :complete_notification
+
# Whether download is enabled.
# Corresponds to the JSON property `enabled`
# @return [Boolean]
attr_accessor :enabled
alias_method :enabled?, :enabled
- # DO NOT USE THIS FIELD UNTIL THIS WARNING IS REMOVED.
- # Specify name of the download service if one is used for download.
- # Corresponds to the JSON property `downloadService`
+ # Name of the Scotty dropzone to use for the current API.
+ # Corresponds to the JSON property `dropzone`
# @return [String]
- attr_accessor :download_service
+ attr_accessor :dropzone
+ # Optional maximum acceptable size for direct download.
+ # The size is specified in bytes.
+ # Corresponds to the JSON property `maxDirectDownloadSize`
+ # @return [Fixnum]
+ attr_accessor :max_direct_download_size
+
+ # A boolean that determines if direct download from ESF should be used for
+ # download of this media.
+ # Corresponds to the JSON property `useDirectDownload`
+ # @return [Boolean]
+ attr_accessor :use_direct_download
+ alias_method :use_direct_download?, :use_direct_download
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @enabled = args[:enabled] if args.key?(:enabled)
@download_service = args[:download_service] if args.key?(:download_service)
+ @complete_notification = args[:complete_notification] if args.key?(:complete_notification)
+ @enabled = args[:enabled] if args.key?(:enabled)
+ @dropzone = args[:dropzone] if args.key?(:dropzone)
+ @max_direct_download_size = args[:max_direct_download_size] if args.key?(:max_direct_download_size)
+ @use_direct_download = args[:use_direct_download] if args.key?(:use_direct_download)
end
end
+ # Configuration for a custom authentication provider.
+ class CustomAuthRequirements
+ include Google::Apis::Core::Hashable
+
+ # A configuration string containing connection information for the
+ # authentication provider, typically formatted as a SmartService string
+ # (go/smartservice).
+ # Corresponds to the JSON property `provider`
+ # @return [String]
+ attr_accessor :provider
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @provider = args[:provider] if args.key?(:provider)
+ end
+ end
+
# Change report associated with a particular service configuration.
# It contains a list of ConfigChanges based on the comparison between
# two service configurations.
class ChangeReport
include Google::Apis::Core::Hashable
@@ -2067,36 +1565,80 @@
def update!(**args)
@service_config = args[:service_config] if args.key?(:service_config)
end
end
+ # Defines the Media configuration for a service in case of an upload.
# Use this only for Scotty Requests. Do not use this for media support using
# Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
# your configuration for Bytestream methods.
class MediaUpload
include Google::Apis::Core::Hashable
+ # DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.
+ # Specify name of the upload service if one is used for upload.
+ # Corresponds to the JSON property `uploadService`
+ # @return [String]
+ attr_accessor :upload_service
+
+ # An array of mimetype patterns. Esf will only accept uploads that match one
+ # of the given patterns.
+ # Corresponds to the JSON property `mimeTypes`
+ # @return [Array<String>]
+ attr_accessor :mime_types
+
+ # Optional maximum acceptable size for an upload.
+ # The size is specified in bytes.
+ # Corresponds to the JSON property `maxSize`
+ # @return [Fixnum]
+ attr_accessor :max_size
+
+ # A boolean that determines whether a notification for the completion of an
+ # upload should be sent to the backend. These notifications will not be seen
+ # by the client and will not consume quota.
+ # Corresponds to the JSON property `completeNotification`
+ # @return [Boolean]
+ attr_accessor :complete_notification
+ alias_method :complete_notification?, :complete_notification
+
+ # Whether to receive a notification for progress changes of media upload.
+ # Corresponds to the JSON property `progressNotification`
+ # @return [Boolean]
+ attr_accessor :progress_notification
+ alias_method :progress_notification?, :progress_notification
+
# Whether upload is enabled.
# Corresponds to the JSON property `enabled`
# @return [Boolean]
attr_accessor :enabled
alias_method :enabled?, :enabled
- # DO NOT USE THIS FIELD UNTIL THIS WARNING IS REMOVED.
- # Specify name of the upload service if one is used for upload.
- # Corresponds to the JSON property `uploadService`
+ # Name of the Scotty dropzone to use for the current API.
+ # Corresponds to the JSON property `dropzone`
# @return [String]
- attr_accessor :upload_service
+ attr_accessor :dropzone
+ # Whether to receive a notification on the start of media upload.
+ # Corresponds to the JSON property `startNotification`
+ # @return [Boolean]
+ attr_accessor :start_notification
+ alias_method :start_notification?, :start_notification
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @enabled = args[:enabled] if args.key?(:enabled)
@upload_service = args[:upload_service] if args.key?(:upload_service)
+ @mime_types = args[:mime_types] if args.key?(:mime_types)
+ @max_size = args[:max_size] if args.key?(:max_size)
+ @complete_notification = args[:complete_notification] if args.key?(:complete_notification)
+ @progress_notification = args[:progress_notification] if args.key?(:progress_notification)
+ @enabled = args[:enabled] if args.key?(:enabled)
+ @dropzone = args[:dropzone] if args.key?(:dropzone)
+ @start_notification = args[:start_notification] if args.key?(:start_notification)
end
end
# Generated advice about this change, used for providing more
# information about how a change will affect the existing service.
@@ -2122,29 +1664,29 @@
# The full representation of a Service that is managed by
# Google Service Management.
class ManagedService
include Google::Apis::Core::Hashable
+ # ID of the project that produces and owns this service.
+ # Corresponds to the JSON property `producerProjectId`
+ # @return [String]
+ attr_accessor :producer_project_id
+
# The name of the service. See the [overview](/service-management/overview)
# for naming requirements.
# Corresponds to the JSON property `serviceName`
# @return [String]
attr_accessor :service_name
- # ID of the project that produces and owns this service.
- # Corresponds to the JSON property `producerProjectId`
- # @return [String]
- attr_accessor :producer_project_id
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @service_name = args[:service_name] if args.key?(:service_name)
@producer_project_id = args[:producer_project_id] if args.key?(:producer_project_id)
+ @service_name = args[:service_name] if args.key?(:service_name)
end
end
# Usage configuration rules for the service.
# NOTE: Under development.
@@ -2189,53 +1731,10 @@
@selector = args[:selector] if args.key?(:selector)
@allow_unregistered_calls = args[:allow_unregistered_calls] if args.key?(:allow_unregistered_calls)
end
end
- # User-defined authentication requirements, including support for
- # [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-
- # token-32).
- class AuthRequirement
- include Google::Apis::Core::Hashable
-
- # NOTE: This will be deprecated soon, once AuthProvider.audiences is
- # implemented and accepted in all the runtime components.
- # The list of JWT
- # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#
- # section-4.1.3).
- # that are allowed to access. A JWT containing any of these audiences will
- # be accepted. When this setting is absent, only JWTs with audience
- # "https://Service_name/API_name"
- # will be accepted. For example, if no audiences are in the setting,
- # LibraryService API will only accept JWTs with the following audience
- # "https://library-example.googleapis.com/google.example.library.v1.
- # LibraryService".
- # Example:
- # audiences: bookstore_android.apps.googleusercontent.com,
- # bookstore_web.apps.googleusercontent.com
- # Corresponds to the JSON property `audiences`
- # @return [String]
- attr_accessor :audiences
-
- # id from authentication provider.
- # Example:
- # provider_id: bookstore_auth
- # Corresponds to the JSON property `providerId`
- # @return [String]
- attr_accessor :provider_id
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @audiences = args[:audiences] if args.key?(:audiences)
- @provider_id = args[:provider_id] if args.key?(:provider_id)
- end
- end
-
# Strategy that specifies how Google Service Control should select
# different
# versions of service configurations based on traffic percentage.
# One example of how to gradually rollout a new service configuration using
# this
@@ -2277,57 +1776,50 @@
def update!(**args)
@percentages = args[:percentages] if args.key?(:percentages)
end
end
- # A condition to be met.
- class Condition
+ # User-defined authentication requirements, including support for
+ # [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-
+ # token-32).
+ class AuthRequirement
include Google::Apis::Core::Hashable
- # An operator to apply the subject with.
- # Corresponds to the JSON property `op`
+ # NOTE: This will be deprecated soon, once AuthProvider.audiences is
+ # implemented and accepted in all the runtime components.
+ # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#
+ # section-4.1.3).
+ # that are allowed to access. A JWT containing any of these audiences will
+ # be accepted. When this setting is absent, only JWTs with audience
+ # "https://Service_name/API_name"
+ # will be accepted. For example, if no audiences are in the setting,
+ # LibraryService API will only accept JWTs with the following audience
+ # "https://library-example.googleapis.com/google.example.library.v1.
+ # LibraryService".
+ # Example:
+ # audiences: bookstore_android.apps.googleusercontent.com,
+ # bookstore_web.apps.googleusercontent.com
+ # Corresponds to the JSON property `audiences`
# @return [String]
- attr_accessor :op
+ attr_accessor :audiences
- # Trusted attributes discharged by the service.
- # Corresponds to the JSON property `svc`
+ # id from authentication provider.
+ # Example:
+ # provider_id: bookstore_auth
+ # Corresponds to the JSON property `providerId`
# @return [String]
- attr_accessor :svc
+ attr_accessor :provider_id
- # DEPRECATED. Use 'values' instead.
- # Corresponds to the JSON property `value`
- # @return [String]
- attr_accessor :value
-
- # Trusted attributes supplied by any service that owns resources and uses
- # the IAM system for access control.
- # Corresponds to the JSON property `sys`
- # @return [String]
- attr_accessor :sys
-
- # Trusted attributes supplied by the IAM system.
- # Corresponds to the JSON property `iam`
- # @return [String]
- attr_accessor :iam
-
- # The objects of the condition. This is mutually exclusive with 'value'.
- # Corresponds to the JSON property `values`
- # @return [Array<String>]
- attr_accessor :values
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @op = args[:op] if args.key?(:op)
- @svc = args[:svc] if args.key?(:svc)
- @value = args[:value] if args.key?(:value)
- @sys = args[:sys] if args.key?(:sys)
- @iam = args[:iam] if args.key?(:iam)
- @values = args[:values] if args.key?(:values)
+ @audiences = args[:audiences] if args.key?(:audiences)
+ @provider_id = args[:provider_id] if args.key?(:provider_id)
end
end
# `Documentation` provides the information for describing a service.
# Example:
@@ -2383,10 +1875,16 @@
# The directive `suppress_warning` does not directly affect documentation
# and is documented together with service config validation.
class Documentation
include Google::Apis::Core::Hashable
+ # A short summary of what the service does. Can only be provided by
+ # plain text.
+ # Corresponds to the JSON property `summary`
+ # @return [String]
+ attr_accessor :summary
+
# The URL to the root of documentation.
# Corresponds to the JSON property `documentationRootUrl`
# @return [String]
attr_accessor :documentation_root_url
@@ -2416,30 +1914,74 @@
# The top level pages for the documentation set.
# Corresponds to the JSON property `pages`
# @return [Array<Google::Apis::ServicemanagementV1::Page>]
attr_accessor :pages
- # A short summary of what the service does. Can only be provided by
- # plain text.
- # Corresponds to the JSON property `summary`
- # @return [String]
- attr_accessor :summary
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @summary = args[:summary] if args.key?(:summary)
@documentation_root_url = args[:documentation_root_url] if args.key?(:documentation_root_url)
@rules = args[:rules] if args.key?(:rules)
@overview = args[:overview] if args.key?(:overview)
@pages = args[:pages] if args.key?(:pages)
- @summary = args[:summary] if args.key?(:summary)
end
end
+ # A condition to be met.
+ class Condition
+ include Google::Apis::Core::Hashable
+
+ # Trusted attributes supplied by any service that owns resources and uses
+ # the IAM system for access control.
+ # Corresponds to the JSON property `sys`
+ # @return [String]
+ attr_accessor :sys
+
+ # DEPRECATED. Use 'values' instead.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ # Trusted attributes supplied by the IAM system.
+ # Corresponds to the JSON property `iam`
+ # @return [String]
+ attr_accessor :iam
+
+ # The objects of the condition. This is mutually exclusive with 'value'.
+ # Corresponds to the JSON property `values`
+ # @return [Array<String>]
+ attr_accessor :values
+
+ # An operator to apply the subject with.
+ # Corresponds to the JSON property `op`
+ # @return [String]
+ attr_accessor :op
+
+ # Trusted attributes discharged by the service.
+ # Corresponds to the JSON property `svc`
+ # @return [String]
+ attr_accessor :svc
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @sys = args[:sys] if args.key?(:sys)
+ @value = args[:value] if args.key?(:value)
+ @iam = args[:iam] if args.key?(:iam)
+ @values = args[:values] if args.key?(:values)
+ @op = args[:op] if args.key?(:op)
+ @svc = args[:svc] if args.key?(:svc)
+ end
+ end
+
# Provides the configuration for logging a type of permissions.
# Example:
# `
# "audit_log_configs": [
# `
@@ -2456,30 +1998,30 @@
# This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
# foo@gmail.com from DATA_READ logging.
class AuditLogConfig
include Google::Apis::Core::Hashable
+ # The log type that this config enables.
+ # Corresponds to the JSON property `logType`
+ # @return [String]
+ attr_accessor :log_type
+
# Specifies the identities that do not cause logging for this type of
# permission.
# Follows the same format of Binding.members.
# Corresponds to the JSON property `exemptedMembers`
# @return [Array<String>]
attr_accessor :exempted_members
- # The log type that this config enables.
- # Corresponds to the JSON property `logType`
- # @return [String]
- attr_accessor :log_type
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
@log_type = args[:log_type] if args.key?(:log_type)
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
end
end
# Represents a source file which is used to generate the service configuration
# defined by `google.api.Service`.
@@ -2508,60 +2050,42 @@
@id = args[:id] if args.key?(:id)
@files = args[:files] if args.key?(:files)
end
end
- # A backend rule provides configuration for an individual API element.
- class BackendRule
- include Google::Apis::Core::Hashable
-
- # Minimum deadline in seconds needed for this method. Calls having deadline
- # value lower than this will be rejected.
- # Corresponds to the JSON property `minDeadline`
- # @return [Float]
- attr_accessor :min_deadline
-
- # The address of the API backend.
- # Corresponds to the JSON property `address`
- # @return [String]
- attr_accessor :address
-
- # Selects the methods to which this rule applies.
- # Refer to selector for syntax details.
- # Corresponds to the JSON property `selector`
- # @return [String]
- attr_accessor :selector
-
- # The number of seconds to wait for a response from a request. The
- # default depends on the deployment context.
- # Corresponds to the JSON property `deadline`
- # @return [Float]
- attr_accessor :deadline
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
- @address = args[:address] if args.key?(:address)
- @selector = args[:selector] if args.key?(:selector)
- @deadline = args[:deadline] if args.key?(:deadline)
- end
- end
-
# Authentication rules for the service.
# By default, if a method has any authentication requirements, every request
# must include a valid credential matching one of the requirements.
# It's an error to include more than one kind of credential in a single
# request.
# If a method doesn't have any auth requirements, request credentials will be
# ignored.
class AuthenticationRule
include Google::Apis::Core::Hashable
+ # Requirements for additional authentication providers.
+ # Corresponds to the JSON property `requirements`
+ # @return [Array<Google::Apis::ServicemanagementV1::AuthRequirement>]
+ attr_accessor :requirements
+
+ # Selects the methods to which this rule applies.
+ # Refer to selector for syntax details.
+ # Corresponds to the JSON property `selector`
+ # @return [String]
+ attr_accessor :selector
+
+ # Whether to allow requests without a credential. The credential can be
+ # an OAuth token, Google cookies (first-party auth) or EndUserCreds.
+ # For requests without credentials, if the service control environment is
+ # specified, each incoming request **must** be associated with a service
+ # consumer. This can be done by passing an API key that belongs to a consumer
+ # project.
+ # Corresponds to the JSON property `allowWithoutCredential`
+ # @return [Boolean]
+ attr_accessor :allow_without_credential
+ alias_method :allow_without_credential?, :allow_without_credential
+
# OAuth scopes are a way to define data and permissions on data. For example,
# there are scopes defined for "Read-only access to Google Calendar" and
# "Access to Cloud Platform". Users can consent to a scope for an application,
# giving it permission to access that data on their behalf.
# OAuth scope specifications should be fairly coarse grained; a user will need
@@ -2581,43 +2105,61 @@
# Configuration for a custom authentication provider.
# Corresponds to the JSON property `customAuth`
# @return [Google::Apis::ServicemanagementV1::CustomAuthRequirements]
attr_accessor :custom_auth
- # Requirements for additional authentication providers.
- # Corresponds to the JSON property `requirements`
- # @return [Array<Google::Apis::ServicemanagementV1::AuthRequirement>]
- attr_accessor :requirements
+ def initialize(**args)
+ update!(**args)
+ end
+ # Update properties of this object
+ def update!(**args)
+ @requirements = args[:requirements] if args.key?(:requirements)
+ @selector = args[:selector] if args.key?(:selector)
+ @allow_without_credential = args[:allow_without_credential] if args.key?(:allow_without_credential)
+ @oauth = args[:oauth] if args.key?(:oauth)
+ @custom_auth = args[:custom_auth] if args.key?(:custom_auth)
+ end
+ end
+
+ # A backend rule provides configuration for an individual API element.
+ class BackendRule
+ include Google::Apis::Core::Hashable
+
+ # The address of the API backend.
+ # Corresponds to the JSON property `address`
+ # @return [String]
+ attr_accessor :address
+
# Selects the methods to which this rule applies.
# Refer to selector for syntax details.
# Corresponds to the JSON property `selector`
# @return [String]
attr_accessor :selector
- # Whether to allow requests without a credential. The credential can be
- # an OAuth token, Google cookies (first-party auth) or EndUserCreds.
- # For requests without credentials, if the service control environment is
- # specified, each incoming request **must** be associated with a service
- # consumer. This can be done by passing an API key that belongs to a consumer
- # project.
- # Corresponds to the JSON property `allowWithoutCredential`
- # @return [Boolean]
- attr_accessor :allow_without_credential
- alias_method :allow_without_credential?, :allow_without_credential
+ # The number of seconds to wait for a response from a request. The
+ # default depends on the deployment context.
+ # Corresponds to the JSON property `deadline`
+ # @return [Float]
+ attr_accessor :deadline
+ # Minimum deadline in seconds needed for this method. Calls having deadline
+ # value lower than this will be rejected.
+ # Corresponds to the JSON property `minDeadline`
+ # @return [Float]
+ attr_accessor :min_deadline
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @oauth = args[:oauth] if args.key?(:oauth)
- @custom_auth = args[:custom_auth] if args.key?(:custom_auth)
- @requirements = args[:requirements] if args.key?(:requirements)
+ @address = args[:address] if args.key?(:address)
@selector = args[:selector] if args.key?(:selector)
- @allow_without_credential = args[:allow_without_credential] if args.key?(:allow_without_credential)
+ @deadline = args[:deadline] if args.key?(:deadline)
+ @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
end
end
# Defines an Identity and Access Management (IAM) policy. It is used to
# specify access control policies for Cloud Platform resources.
@@ -2735,21 +2277,32 @@
# Api is a light-weight descriptor for a protocol buffer service.
class Api
include Google::Apis::Core::Hashable
- # The source syntax of the service.
- # Corresponds to the JSON property `syntax`
+ # The methods of this api, in unspecified order.
+ # Corresponds to the JSON property `methods`
+ # @return [Array<Google::Apis::ServicemanagementV1::MethodProp>]
+ attr_accessor :methods_prop
+
+ # The fully qualified name of this api, including package name
+ # followed by the api's simple name.
+ # Corresponds to the JSON property `name`
# @return [String]
- attr_accessor :syntax
+ attr_accessor :name
# `SourceContext` represents information about the source of a
# protobuf element, like the file in which it is defined.
# Corresponds to the JSON property `sourceContext`
# @return [Google::Apis::ServicemanagementV1::SourceContext]
attr_accessor :source_context
+ # The source syntax of the service.
+ # Corresponds to the JSON property `syntax`
+ # @return [String]
+ attr_accessor :syntax
+
# A version string for this api. If specified, must have the form
# `major-version.minor-version`, as in `1.10`. If the minor version
# is omitted, it defaults to zero. If the entire version field is
# empty, the major version is derived from the package name, as
# outlined below. If the field is not empty, the version in the
@@ -2778,34 +2331,23 @@
# Any metadata attached to the API.
# Corresponds to the JSON property `options`
# @return [Array<Google::Apis::ServicemanagementV1::Option>]
attr_accessor :options
- # The methods of this api, in unspecified order.
- # Corresponds to the JSON property `methods`
- # @return [Array<Google::Apis::ServicemanagementV1::MethodProp>]
- attr_accessor :methods_prop
-
- # The fully qualified name of this api, including package name
- # followed by the api's simple name.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @syntax = args[:syntax] if args.key?(:syntax)
+ @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
+ @name = args[:name] if args.key?(:name)
@source_context = args[:source_context] if args.key?(:source_context)
+ @syntax = args[:syntax] if args.key?(:syntax)
@version = args[:version] if args.key?(:version)
@mixins = args[:mixins] if args.key?(:mixins)
@options = args[:options] if args.key?(:options)
- @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
- @name = args[:name] if args.key?(:name)
end
end
# Bind API methods to metrics. Binding a method to a metric causes that
# metric's configured quota, billing, and monitoring behaviors to apply to the
@@ -2893,10 +2435,29 @@
# This resource represents a long-running operation that is the result of a
# network API call.
class Operation
include Google::Apis::Core::Hashable
+ # The normal response of the operation in case of success. If the original
+ # method returns no data on success, such as `Delete`, the response is
+ # `google.protobuf.Empty`. If the original method is standard
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
+ # is the original method name. For example, if the original method name
+ # is `TakeSnapshot()`, the inferred response type is
+ # `TakeSnapshotResponse`.
+ # Corresponds to the JSON property `response`
+ # @return [Hash<String,Object>]
+ attr_accessor :response
+
+ # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should have the format of `operations/some/unique/name`.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
# The `Status` type defines a logical error model that is suitable for different
# programming environments, including REST APIs and RPC APIs. It is used by
# [gRPC](https://github.com/grpc). The error model is designed to be:
# - Simple to use and understand for most users
# - Flexible enough to meet unexpected needs
@@ -2907,11 +2468,11 @@
# error message should be a developer-facing English message that helps
# developers *understand* and *resolve* the error. If a localized user-facing
# error message is needed, put the localized message in the error details or
# localize it in the client. The optional error details may contain arbitrary
# information about the error. There is a predefined set of error detail types
- # in the package `google.rpc` which can be used for common error conditions.
+ # in the package `google.rpc` that can be used for common error conditions.
# # Language mapping
# The `Status` message is the logical representation of the error model, but it
# is not necessarily the actual wire format. When the `Status` message is
# exposed in different client libraries and different wire protocols, it can be
# mapped differently. For example, it will likely be mapped to some exceptions
@@ -2923,11 +2484,11 @@
# Example uses of this error model include:
# - Partial errors. If a service needs to return partial errors to the client,
# it may embed the `Status` in the normal response to indicate the partial
# errors.
# - Workflow errors. A typical workflow has multiple steps. Each step may
- # have a `Status` message for error reporting purpose.
+ # have a `Status` message for error reporting.
# - Batch operations. If a client uses batch request and batch response, the
# `Status` message should be used directly inside batch response, one for
# each error sub-response.
# - Asynchronous operations. If an API call embeds asynchronous operation
# results in its response, the status of those operations should be
@@ -2952,40 +2513,21 @@
# Corresponds to the JSON property `done`
# @return [Boolean]
attr_accessor :done
alias_method :done?, :done
- # The normal response of the operation in case of success. If the original
- # method returns no data on success, such as `Delete`, the response is
- # `google.protobuf.Empty`. If the original method is standard
- # `Get`/`Create`/`Update`, the response should be the resource. For other
- # methods, the response should have the type `XxxResponse`, where `Xxx`
- # is the original method name. For example, if the original method name
- # is `TakeSnapshot()`, the inferred response type is
- # `TakeSnapshotResponse`.
- # Corresponds to the JSON property `response`
- # @return [Hash<String,Object>]
- attr_accessor :response
-
- # The server-assigned name, which is only unique within the same service that
- # originally returns it. If you use the default HTTP mapping, the
- # `name` should have the format of `operations/some/unique/name`.
- # Corresponds to the JSON property `name`
- # @return [String]
- attr_accessor :name
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @response = args[:response] if args.key?(:response)
+ @name = args[:name] if args.key?(:name)
@error = args[:error] if args.key?(:error)
@metadata = args[:metadata] if args.key?(:metadata)
@done = args[:done] if args.key?(:done)
- @response = args[:response] if args.key?(:response)
- @name = args[:name] if args.key?(:name)
end
end
# Represents a documentation page. A page can contain subpages to represent
# nested documentation set structure.
@@ -3047,11 +2589,11 @@
# error message should be a developer-facing English message that helps
# developers *understand* and *resolve* the error. If a localized user-facing
# error message is needed, put the localized message in the error details or
# localize it in the client. The optional error details may contain arbitrary
# information about the error. There is a predefined set of error detail types
- # in the package `google.rpc` which can be used for common error conditions.
+ # in the package `google.rpc` that can be used for common error conditions.
# # Language mapping
# The `Status` message is the logical representation of the error model, but it
# is not necessarily the actual wire format. When the `Status` message is
# exposed in different client libraries and different wire protocols, it can be
# mapped differently. For example, it will likely be mapped to some exceptions
@@ -3063,11 +2605,11 @@
# Example uses of this error model include:
# - Partial errors. If a service needs to return partial errors to the client,
# it may embed the `Status` in the normal response to indicate the partial
# errors.
# - Workflow errors. A typical workflow has multiple steps. Each step may
- # have a `Status` message for error reporting purpose.
+ # have a `Status` message for error reporting.
# - Batch operations. If a client uses batch request and batch response, the
# `Status` message should be used directly inside batch response, one for
# each error sub-response.
# - Asynchronous operations. If an API call embeds asynchronous operation
# results in its response, the status of those operations should be
@@ -3075,10 +2617,16 @@
# - Logging. If some API errors are stored in logs, the message `Status` could
# be used directly after any stripping needed for security/privacy reasons.
class Status
include Google::Apis::Core::Hashable
+ # A list of messages that carry the error details. There will be a
+ # common set of message types for APIs to use.
+ # Corresponds to the JSON property `details`
+ # @return [Array<Hash<String,Object>>]
+ attr_accessor :details
+
# The status code, which should be an enum value of google.rpc.Code.
# Corresponds to the JSON property `code`
# @return [Fixnum]
attr_accessor :code
@@ -3087,25 +2635,19 @@
# google.rpc.Status.details field, or localized by the client.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
- # A list of messages that carry the error details. There will be a
- # common set of message types for APIs to use.
- # Corresponds to the JSON property `details`
- # @return [Array<Hash<String,Object>>]
- attr_accessor :details
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @details = args[:details] if args.key?(:details)
@code = args[:code] if args.key?(:code)
@message = args[:message] if args.key?(:message)
- @details = args[:details] if args.key?(:details)
end
end
# Associates `members` with a `role`.
class Binding
@@ -3151,26 +2693,10 @@
# [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-
# token-32).
class AuthProvider
include Google::Apis::Core::Hashable
- # The unique identifier of the auth provider. It will be referred to by
- # `AuthRequirement.provider_id`.
- # Example: "bookstore_auth".
- # Corresponds to the JSON property `id`
- # @return [String]
- attr_accessor :id
-
- # Identifies the principal that issued the JWT. See
- # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
- # Usually a URL or an email address.
- # Example: https://securetoken.google.com
- # Example: 1234567-compute@developer.gserviceaccount.com
- # Corresponds to the JSON property `issuer`
- # @return [String]
- attr_accessor :issuer
-
# URL of the provider's public key set to validate signature of the JWT. See
# [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#
# ProviderMetadata).
# Optional if the key set document:
# - can be retrieved from
@@ -3199,23 +2725,70 @@
# bookstore_web.apps.googleusercontent.com
# Corresponds to the JSON property `audiences`
# @return [String]
attr_accessor :audiences
+ # The unique identifier of the auth provider. It will be referred to by
+ # `AuthRequirement.provider_id`.
+ # Example: "bookstore_auth".
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Identifies the principal that issued the JWT. See
+ # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
+ # Usually a URL or an email address.
+ # Example: https://securetoken.google.com
+ # Example: 1234567-compute@developer.gserviceaccount.com
+ # Corresponds to the JSON property `issuer`
+ # @return [String]
+ attr_accessor :issuer
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @id = args[:id] if args.key?(:id)
- @issuer = args[:issuer] if args.key?(:issuer)
@jwks_uri = args[:jwks_uri] if args.key?(:jwks_uri)
@audiences = args[:audiences] if args.key?(:audiences)
+ @id = args[:id] if args.key?(:id)
+ @issuer = args[:issuer] if args.key?(:issuer)
end
end
+ # Enum value definition.
+ class EnumValue
+ include Google::Apis::Core::Hashable
+
+ # Enum value name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Protocol buffer options.
+ # Corresponds to the JSON property `options`
+ # @return [Array<Google::Apis::ServicemanagementV1::Option>]
+ attr_accessor :options
+
+ # Enum value number.
+ # Corresponds to the JSON property `number`
+ # @return [Fixnum]
+ attr_accessor :number
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ @options = args[:options] if args.key?(:options)
+ @number = args[:number] if args.key?(:number)
+ end
+ end
+
# `Service` is the root object of Google service configuration schema. It
# describes basic information about a service, such as the name and the
# title, and delegates other aspects to sub-sections. Each sub-section is
# either a proto message or a repeated proto message that configures a
# specific aspect, such as auth. See each proto message definition for details.
@@ -3236,10 +2809,182 @@
# requirements:
# provider_id: google_calendar_auth
class Service
include Google::Apis::Core::Hashable
+ # Defines the logs used by this service.
+ # Corresponds to the JSON property `logs`
+ # @return [Array<Google::Apis::ServicemanagementV1::LogDescriptor>]
+ attr_accessor :logs
+
+ # A list of API interfaces exported by this service. Only the `name` field
+ # of the google.protobuf.Api needs to be provided by the configuration
+ # author, as the remaining fields will be derived from the IDL during the
+ # normalization process. It is an error to specify an API interface here
+ # which cannot be resolved against the associated IDL files.
+ # Corresponds to the JSON property `apis`
+ # @return [Array<Google::Apis::ServicemanagementV1::Api>]
+ attr_accessor :apis
+
+ # A list of all proto message types included in this API service.
+ # Types referenced directly or indirectly by the `apis` are
+ # automatically included. Messages which are not referenced but
+ # shall be included, such as types used by the `google.protobuf.Any` type,
+ # should be listed here by name. Example:
+ # types:
+ # - name: google.protobuf.Int32
+ # Corresponds to the JSON property `types`
+ # @return [Array<Google::Apis::ServicemanagementV1::Type>]
+ attr_accessor :types
+
+ # Source information used to create a Service Config
+ # Corresponds to the JSON property `sourceInfo`
+ # @return [Google::Apis::ServicemanagementV1::SourceInfo]
+ attr_accessor :source_info
+
+ # Defines the HTTP configuration for a service. It contains a list of
+ # HttpRule, each specifying the mapping of an RPC method
+ # to one or more HTTP REST API methods.
+ # Corresponds to the JSON property `http`
+ # @return [Google::Apis::ServicemanagementV1::Http]
+ attr_accessor :http
+
+ # ### System parameter configuration
+ # A system parameter is a special kind of parameter defined by the API
+ # system, not by an individual API. It is typically mapped to an HTTP header
+ # and/or a URL query parameter. This configuration specifies which methods
+ # change the names of the system parameters.
+ # Corresponds to the JSON property `systemParameters`
+ # @return [Google::Apis::ServicemanagementV1::SystemParameters]
+ attr_accessor :system_parameters
+
+ # `Backend` defines the backend configuration for a service.
+ # Corresponds to the JSON property `backend`
+ # @return [Google::Apis::ServicemanagementV1::Backend]
+ attr_accessor :backend
+
+ # `Documentation` provides the information for describing a service.
+ # Example:
+ # <pre><code>documentation:
+ # summary: >
+ # The Google Calendar API gives access
+ # to most calendar features.
+ # pages:
+ # - name: Overview
+ # content: (== include google/foo/overview.md ==)
+ # - name: Tutorial
+ # content: (== include google/foo/tutorial.md ==)
+ # subpages;
+ # - name: Java
+ # content: (== include google/foo/tutorial_java.md ==)
+ # rules:
+ # - selector: google.calendar.Calendar.Get
+ # description: >
+ # ...
+ # - selector: google.calendar.Calendar.Put
+ # description: >
+ # ...
+ # </code></pre>
+ # Documentation is provided in markdown syntax. In addition to
+ # standard markdown features, definition lists, tables and fenced
+ # code blocks are supported. Section headers can be provided and are
+ # interpreted relative to the section nesting of the context where
+ # a documentation fragment is embedded.
+ # Documentation from the IDL is merged with documentation defined
+ # via the config at normalization time, where documentation provided
+ # by config rules overrides IDL provided.
+ # A number of constructs specific to the API platform are supported
+ # in documentation text.
+ # In order to reference a proto element, the following
+ # notation can be used:
+ # <pre><code>[fully.qualified.proto.name][]</code></pre>
+ # To override the display text used for the link, this can be used:
+ # <pre><code>[display text][fully.qualified.proto.name]</code></pre>
+ # Text can be excluded from doc using the following notation:
+ # <pre><code>(-- internal comment --)</code></pre>
+ # Comments can be made conditional using a visibility label. The below
+ # text will be only rendered if the `BETA` label is available:
+ # <pre><code>(--BETA: comment for BETA users --)</code></pre>
+ # A few directives are available in documentation. Note that
+ # directives must appear on a single line to be properly
+ # identified. The `include` directive includes a markdown file from
+ # an external source:
+ # <pre><code>(== include path/to/file ==)</code></pre>
+ # The `resource_for` directive marks a message to be the resource of
+ # a collection in REST view. If it is not specified, tools attempt
+ # to infer the resource from the operations in a collection:
+ # <pre><code>(== resource_for v1.shelves.books ==)</code></pre>
+ # The directive `suppress_warning` does not directly affect documentation
+ # and is documented together with service config validation.
+ # Corresponds to the JSON property `documentation`
+ # @return [Google::Apis::ServicemanagementV1::Documentation]
+ attr_accessor :documentation
+
+ # Logging configuration of the service.
+ # The following example shows how to configure logs to be sent to the
+ # producer and consumer projects. In the example, the `activity_history`
+ # log is sent to both the producer and consumer projects, whereas the
+ # `purchase_history` log is only sent to the producer project.
+ # monitored_resources:
+ # - type: library.googleapis.com/branch
+ # labels:
+ # - key: /city
+ # description: The city where the library branch is located in.
+ # - key: /name
+ # description: The name of the branch.
+ # logs:
+ # - name: activity_history
+ # labels:
+ # - key: /customer_id
+ # - name: purchase_history
+ # logging:
+ # producer_destinations:
+ # - monitored_resource: library.googleapis.com/branch
+ # logs:
+ # - activity_history
+ # - purchase_history
+ # consumer_destinations:
+ # - monitored_resource: library.googleapis.com/branch
+ # logs:
+ # - activity_history
+ # Corresponds to the JSON property `logging`
+ # @return [Google::Apis::ServicemanagementV1::Logging]
+ attr_accessor :logging
+
+ # Defines the monitored resources used by this service. This is required
+ # by the Service.monitoring and Service.logging configurations.
+ # Corresponds to the JSON property `monitoredResources`
+ # @return [Array<Google::Apis::ServicemanagementV1::MonitoredResourceDescriptor>]
+ attr_accessor :monitored_resources
+
+ # A list of all enum types included in this API service. Enums
+ # referenced directly or indirectly by the `apis` are automatically
+ # included. Enums which are not referenced but shall be included
+ # should be listed here by name. Example:
+ # enums:
+ # - name: google.someapi.v1.SomeEnum
+ # Corresponds to the JSON property `enums`
+ # @return [Array<Google::Apis::ServicemanagementV1::Enum>]
+ attr_accessor :enums
+
+ # `Context` defines which contexts an API requests.
+ # Example:
+ # context:
+ # rules:
+ # - selector: "*"
+ # requested:
+ # - google.rpc.context.ProjectContext
+ # - google.rpc.context.OriginContext
+ # The above specifies that all methods in the API request
+ # `google.rpc.context.ProjectContext` and
+ # `google.rpc.context.OriginContext`.
+ # Available context types are defined in package
+ # `google.rpc.context`.
+ # Corresponds to the JSON property `context`
+ # @return [Google::Apis::ServicemanagementV1::Context]
+ attr_accessor :context
+
# A unique ID for a specific instance of this message, typically assigned
# by the client for tracking purpose. If empty, the server may choose to
# generate one instead.
# Corresponds to the JSON property `id`
# @return [String]
@@ -3329,26 +3074,26 @@
# - library.googleapis.com/book/overdue_count
# Corresponds to the JSON property `monitoring`
# @return [Google::Apis::ServicemanagementV1::Monitoring]
attr_accessor :monitoring
+ # The id of the Google developer project that owns the service.
+ # Members of this project can manage the service configuration,
+ # manage consumption of the service, etc.
+ # Corresponds to the JSON property `producerProjectId`
+ # @return [String]
+ attr_accessor :producer_project_id
+
# A list of all proto message types included in this API service.
# It serves similar purpose as [google.api.Service.types], except that
# these types are not needed by user-defined APIs. Therefore, they will not
# show up in the generated discovery doc. This field should only be used
# to define system APIs in ESF.
# Corresponds to the JSON property `systemTypes`
# @return [Array<Google::Apis::ServicemanagementV1::Type>]
attr_accessor :system_types
- # The id of the Google developer project that owns the service.
- # Members of this project can manage the service configuration,
- # manage consumption of the service, etc.
- # Corresponds to the JSON property `producerProjectId`
- # @return [String]
- attr_accessor :producer_project_id
-
# `Visibility` defines restrictions for the visibility of service
# elements. Restrictions are specified using visibility labels
# (e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects.
# Users and projects can have access to more than one visibility label. The
# effective visibility for multiple labels is the union of each label's
@@ -3439,272 +3184,94 @@
# defined APIs.
# Corresponds to the JSON property `endpoints`
# @return [Array<Google::Apis::ServicemanagementV1::Endpoint>]
attr_accessor :endpoints
- # Defines the logs used by this service.
- # Corresponds to the JSON property `logs`
- # @return [Array<Google::Apis::ServicemanagementV1::LogDescriptor>]
- attr_accessor :logs
-
- # A list of API interfaces exported by this service. Only the `name` field
- # of the google.protobuf.Api needs to be provided by the configuration
- # author, as the remaining fields will be derived from the IDL during the
- # normalization process. It is an error to specify an API interface here
- # which cannot be resolved against the associated IDL files.
- # Corresponds to the JSON property `apis`
- # @return [Array<Google::Apis::ServicemanagementV1::Api>]
- attr_accessor :apis
-
- # A list of all proto message types included in this API service.
- # Types referenced directly or indirectly by the `apis` are
- # automatically included. Messages which are not referenced but
- # shall be included, such as types used by the `google.protobuf.Any` type,
- # should be listed here by name. Example:
- # types:
- # - name: google.protobuf.Int32
- # Corresponds to the JSON property `types`
- # @return [Array<Google::Apis::ServicemanagementV1::Type>]
- attr_accessor :types
-
- # Source information used to create a Service Config
- # Corresponds to the JSON property `sourceInfo`
- # @return [Google::Apis::ServicemanagementV1::SourceInfo]
- attr_accessor :source_info
-
- # Defines the HTTP configuration for a service. It contains a list of
- # HttpRule, each specifying the mapping of an RPC method
- # to one or more HTTP REST API methods.
- # Corresponds to the JSON property `http`
- # @return [Google::Apis::ServicemanagementV1::Http]
- attr_accessor :http
-
- # ### System parameter configuration
- # A system parameter is a special kind of parameter defined by the API
- # system, not by an individual API. It is typically mapped to an HTTP header
- # and/or a URL query parameter. This configuration specifies which methods
- # change the names of the system parameters.
- # Corresponds to the JSON property `systemParameters`
- # @return [Google::Apis::ServicemanagementV1::SystemParameters]
- attr_accessor :system_parameters
-
- # `Backend` defines the backend configuration for a service.
- # Corresponds to the JSON property `backend`
- # @return [Google::Apis::ServicemanagementV1::Backend]
- attr_accessor :backend
-
- # `Documentation` provides the information for describing a service.
- # Example:
- # <pre><code>documentation:
- # summary: >
- # The Google Calendar API gives access
- # to most calendar features.
- # pages:
- # - name: Overview
- # content: (== include google/foo/overview.md ==)
- # - name: Tutorial
- # content: (== include google/foo/tutorial.md ==)
- # subpages;
- # - name: Java
- # content: (== include google/foo/tutorial_java.md ==)
- # rules:
- # - selector: google.calendar.Calendar.Get
- # description: >
- # ...
- # - selector: google.calendar.Calendar.Put
- # description: >
- # ...
- # </code></pre>
- # Documentation is provided in markdown syntax. In addition to
- # standard markdown features, definition lists, tables and fenced
- # code blocks are supported. Section headers can be provided and are
- # interpreted relative to the section nesting of the context where
- # a documentation fragment is embedded.
- # Documentation from the IDL is merged with documentation defined
- # via the config at normalization time, where documentation provided
- # by config rules overrides IDL provided.
- # A number of constructs specific to the API platform are supported
- # in documentation text.
- # In order to reference a proto element, the following
- # notation can be used:
- # <pre><code>[fully.qualified.proto.name][]</code></pre>
- # To override the display text used for the link, this can be used:
- # <pre><code>[display text][fully.qualified.proto.name]</code></pre>
- # Text can be excluded from doc using the following notation:
- # <pre><code>(-- internal comment --)</code></pre>
- # Comments can be made conditional using a visibility label. The below
- # text will be only rendered if the `BETA` label is available:
- # <pre><code>(--BETA: comment for BETA users --)</code></pre>
- # A few directives are available in documentation. Note that
- # directives must appear on a single line to be properly
- # identified. The `include` directive includes a markdown file from
- # an external source:
- # <pre><code>(== include path/to/file ==)</code></pre>
- # The `resource_for` directive marks a message to be the resource of
- # a collection in REST view. If it is not specified, tools attempt
- # to infer the resource from the operations in a collection:
- # <pre><code>(== resource_for v1.shelves.books ==)</code></pre>
- # The directive `suppress_warning` does not directly affect documentation
- # and is documented together with service config validation.
- # Corresponds to the JSON property `documentation`
- # @return [Google::Apis::ServicemanagementV1::Documentation]
- attr_accessor :documentation
-
- # Logging configuration of the service.
- # The following example shows how to configure logs to be sent to the
- # producer and consumer projects. In the example, the `activity_history`
- # log is sent to both the producer and consumer projects, whereas the
- # `purchase_history` log is only sent to the producer project.
- # monitored_resources:
- # - type: library.googleapis.com/branch
- # labels:
- # - key: /city
- # description: The city where the library branch is located in.
- # - key: /name
- # description: The name of the branch.
- # logs:
- # - name: activity_history
- # labels:
- # - key: /customer_id
- # - name: purchase_history
- # logging:
- # producer_destinations:
- # - monitored_resource: library.googleapis.com/branch
- # logs:
- # - activity_history
- # - purchase_history
- # consumer_destinations:
- # - monitored_resource: library.googleapis.com/branch
- # logs:
- # - activity_history
- # Corresponds to the JSON property `logging`
- # @return [Google::Apis::ServicemanagementV1::Logging]
- attr_accessor :logging
-
- # Defines the monitored resources used by this service. This is required
- # by the Service.monitoring and Service.logging configurations.
- # Corresponds to the JSON property `monitoredResources`
- # @return [Array<Google::Apis::ServicemanagementV1::MonitoredResourceDescriptor>]
- attr_accessor :monitored_resources
-
- # A list of all enum types included in this API service. Enums
- # referenced directly or indirectly by the `apis` are automatically
- # included. Enums which are not referenced but shall be included
- # should be listed here by name. Example:
- # enums:
- # - name: google.someapi.v1.SomeEnum
- # Corresponds to the JSON property `enums`
- # @return [Array<Google::Apis::ServicemanagementV1::Enum>]
- attr_accessor :enums
-
- # `Context` defines which contexts an API requests.
- # Example:
- # context:
- # rules:
- # - selector: "*"
- # requested:
- # - google.rpc.context.ProjectContext
- # - google.rpc.context.OriginContext
- # The above specifies that all methods in the API request
- # `google.rpc.context.ProjectContext` and
- # `google.rpc.context.OriginContext`.
- # Available context types are defined in package
- # `google.rpc.context`.
- # Corresponds to the JSON property `context`
- # @return [Google::Apis::ServicemanagementV1::Context]
- attr_accessor :context
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @logs = args[:logs] if args.key?(:logs)
+ @apis = args[:apis] if args.key?(:apis)
+ @types = args[:types] if args.key?(:types)
+ @source_info = args[:source_info] if args.key?(:source_info)
+ @http = args[:http] if args.key?(:http)
+ @system_parameters = args[:system_parameters] if args.key?(:system_parameters)
+ @backend = args[:backend] if args.key?(:backend)
+ @documentation = args[:documentation] if args.key?(:documentation)
+ @logging = args[:logging] if args.key?(:logging)
+ @monitored_resources = args[:monitored_resources] if args.key?(:monitored_resources)
+ @enums = args[:enums] if args.key?(:enums)
+ @context = args[:context] if args.key?(:context)
@id = args[:id] if args.key?(:id)
@usage = args[:usage] if args.key?(:usage)
@metrics = args[:metrics] if args.key?(:metrics)
@authentication = args[:authentication] if args.key?(:authentication)
@experimental = args[:experimental] if args.key?(:experimental)
@control = args[:control] if args.key?(:control)
@config_version = args[:config_version] if args.key?(:config_version)
@monitoring = args[:monitoring] if args.key?(:monitoring)
- @system_types = args[:system_types] if args.key?(:system_types)
@producer_project_id = args[:producer_project_id] if args.key?(:producer_project_id)
+ @system_types = args[:system_types] if args.key?(:system_types)
@visibility = args[:visibility] if args.key?(:visibility)
@quota = args[:quota] if args.key?(:quota)
@name = args[:name] if args.key?(:name)
@custom_error = args[:custom_error] if args.key?(:custom_error)
@title = args[:title] if args.key?(:title)
@endpoints = args[:endpoints] if args.key?(:endpoints)
- @logs = args[:logs] if args.key?(:logs)
- @apis = args[:apis] if args.key?(:apis)
- @types = args[:types] if args.key?(:types)
- @source_info = args[:source_info] if args.key?(:source_info)
- @http = args[:http] if args.key?(:http)
- @system_parameters = args[:system_parameters] if args.key?(:system_parameters)
- @backend = args[:backend] if args.key?(:backend)
- @documentation = args[:documentation] if args.key?(:documentation)
- @logging = args[:logging] if args.key?(:logging)
- @monitored_resources = args[:monitored_resources] if args.key?(:monitored_resources)
- @enums = args[:enums] if args.key?(:enums)
- @context = args[:context] if args.key?(:context)
end
end
- # Enum value definition.
- class EnumValue
+ # The response message for Operations.ListOperations.
+ class ListOperationsResponse
include Google::Apis::Core::Hashable
- # Enum value name.
- # Corresponds to the JSON property `name`
+ # A list of operations that matches the specified filter in the request.
+ # Corresponds to the JSON property `operations`
+ # @return [Array<Google::Apis::ServicemanagementV1::Operation>]
+ attr_accessor :operations
+
+ # The standard List next-page token.
+ # Corresponds to the JSON property `nextPageToken`
# @return [String]
- attr_accessor :name
+ attr_accessor :next_page_token
- # Protocol buffer options.
- # Corresponds to the JSON property `options`
- # @return [Array<Google::Apis::ServicemanagementV1::Option>]
- attr_accessor :options
-
- # Enum value number.
- # Corresponds to the JSON property `number`
- # @return [Fixnum]
- attr_accessor :number
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @name = args[:name] if args.key?(:name)
- @options = args[:options] if args.key?(:options)
- @number = args[:number] if args.key?(:number)
+ @operations = args[:operations] if args.key?(:operations)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
- # The response message for Operations.ListOperations.
- class ListOperationsResponse
+ # A custom pattern is used for defining custom HTTP verb.
+ class CustomHttpPattern
include Google::Apis::Core::Hashable
- # A list of operations that matches the specified filter in the request.
- # Corresponds to the JSON property `operations`
- # @return [Array<Google::Apis::ServicemanagementV1::Operation>]
- attr_accessor :operations
+ # The name of this custom HTTP verb.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
- # The standard List next-page token.
- # Corresponds to the JSON property `nextPageToken`
+ # The path matched by this custom verb.
+ # Corresponds to the JSON property `path`
# @return [String]
- attr_accessor :next_page_token
+ attr_accessor :path
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @operations = args[:operations] if args.key?(:operations)
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ @kind = args[:kind] if args.key?(:kind)
+ @path = args[:path] if args.key?(:path)
end
end
# The metadata associated with a long running operation resource.
class OperationMetadata
@@ -3742,64 +3309,39 @@
@steps = args[:steps] if args.key?(:steps)
@progress_percentage = args[:progress_percentage] if args.key?(:progress_percentage)
end
end
- # A custom pattern is used for defining custom HTTP verb.
- class CustomHttpPattern
- include Google::Apis::Core::Hashable
-
- # The name of this custom HTTP verb.
- # Corresponds to the JSON property `kind`
- # @return [String]
- attr_accessor :kind
-
- # The path matched by this custom verb.
- # Corresponds to the JSON property `path`
- # @return [String]
- attr_accessor :path
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @kind = args[:kind] if args.key?(:kind)
- @path = args[:path] if args.key?(:path)
- end
- end
-
# Define a system parameter rule mapping system parameter definitions to
# methods.
class SystemParameterRule
include Google::Apis::Core::Hashable
+ # Selects the methods to which this rule applies. Use '*' to indicate all
+ # methods in all APIs.
+ # Refer to selector for syntax details.
+ # Corresponds to the JSON property `selector`
+ # @return [String]
+ attr_accessor :selector
+
# Define parameters. Multiple names may be defined for a parameter.
# For a given method call, only one of them should be used. If multiple
# names are used the behavior is implementation-dependent.
# If none of the specified names are present the behavior is
# parameter-dependent.
# Corresponds to the JSON property `parameters`
# @return [Array<Google::Apis::ServicemanagementV1::SystemParameter>]
attr_accessor :parameters
- # Selects the methods to which this rule applies. Use '*' to indicate all
- # methods in all APIs.
- # Refer to selector for syntax details.
- # Corresponds to the JSON property `selector`
- # @return [String]
- attr_accessor :selector
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @parameters = args[:parameters] if args.key?(:parameters)
@selector = args[:selector] if args.key?(:selector)
+ @parameters = args[:parameters] if args.key?(:parameters)
end
end
# `HttpRule` defines the mapping of an RPC method to one or more HTTP
# REST APIs. The mapping determines what portions of the request
@@ -3843,10 +3385,15 @@
# from a path pattern. Fields mapped to the path pattern cannot be
# repeated and must have a primitive (non-message) type.
# Any fields in the request message which are not bound by the path
# pattern automatically become (optional) HTTP query
# parameters. Assume the following definition of the request message:
+ # service Messaging `
+ # rpc GetMessage(GetMessageRequest) returns (Message) `
+ # option (google.api.http).get = "/v1/messages/`message_id`";
+ # `
+ # `
# message GetMessageRequest `
# message SubMessage `
# string subfield = 1;
# `
# string message_id = 1; // mapped to the URL
@@ -3971,10 +3518,11 @@
# a given URL path rule. The wild-card rule is useful for services that provide
# content to Web (HTML) clients.
class HttpRule
include Google::Apis::Core::Hashable
+ # Defines the Media configuration for a service in case of a download.
# Use this only for Scotty Requests. Do not use this for media support using
# Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
# your configuration for Bytestream methods.
# Corresponds to the JSON property `mediaDownload`
# @return [Google::Apis::ServicemanagementV1::MediaDownload]
@@ -3983,10 +3531,27 @@
# Used for creating a resource.
# Corresponds to the JSON property `post`
# @return [String]
attr_accessor :post
+ # Optional. The rest method name is by default derived from the URL
+ # pattern. If specified, this field overrides the default method name.
+ # Example:
+ # rpc CreateResource(CreateResourceRequest)
+ # returns (CreateResourceResponse) `
+ # option (google.api.http) = `
+ # post: "/v1/resources",
+ # body: "resource",
+ # rest_method_name: "insert"
+ # `;
+ # `
+ # This method has the automatically derived rest method name "create", but
+ # for backwards compatability with apiary, it is specified as insert.
+ # Corresponds to the JSON property `restMethodName`
+ # @return [String]
+ attr_accessor :rest_method_name
+
# Additional HTTP bindings for the selector. Nested bindings must
# not contain an `additional_bindings` field themselves (that is,
# the nesting may only be one level deep).
# Corresponds to the JSON property `additionalBindings`
# @return [Array<Google::Apis::ServicemanagementV1::HttpRule>]
@@ -3999,10 +3564,29 @@
# at the top-level of response message type.
# Corresponds to the JSON property `responseBody`
# @return [String]
attr_accessor :response_body
+ # Optional. The REST collection name is by default derived from the URL
+ # pattern. If specified, this field overrides the default collection name.
+ # Example:
+ # rpc AddressesAggregatedList(AddressesAggregatedListRequest)
+ # returns (AddressesAggregatedListResponse) `
+ # option (google.api.http) = `
+ # get: "/v1/projects/`project_id`/aggregated/addresses"
+ # rest_collection: "projects.addresses"
+ # `;
+ # `
+ # This method has the automatically derived collection name
+ # "projects.aggregated". Because, semantically, this rpc is actually an
+ # operation on the "projects.addresses" collection, the `rest_collection`
+ # field is configured to override the derived collection name.
+ # Corresponds to the JSON property `restCollection`
+ # @return [String]
+ attr_accessor :rest_collection
+
+ # Defines the Media configuration for a service in case of an upload.
# Use this only for Scotty Requests. Do not use this for media support using
# Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
# your configuration for Bytestream methods.
# Corresponds to the JSON property `mediaUpload`
# @return [Google::Apis::ServicemanagementV1::MediaUpload]
@@ -4053,12 +3637,14 @@
# Update properties of this object
def update!(**args)
@media_download = args[:media_download] if args.key?(:media_download)
@post = args[:post] if args.key?(:post)
+ @rest_method_name = args[:rest_method_name] if args.key?(:rest_method_name)
@additional_bindings = args[:additional_bindings] if args.key?(:additional_bindings)
@response_body = args[:response_body] if args.key?(:response_body)
+ @rest_collection = args[:rest_collection] if args.key?(:rest_collection)
@media_upload = args[:media_upload] if args.key?(:media_upload)
@selector = args[:selector] if args.key?(:selector)
@custom = args[:custom] if args.key?(:custom)
@get = args[:get] if args.key?(:get)
@patch = args[:patch] if args.key?(:patch)
@@ -4167,18 +3753,73 @@
def update!(**args)
@rules = args[:rules] if args.key?(:rules)
end
end
+ # ### System parameter configuration
+ # A system parameter is a special kind of parameter defined by the API
+ # system, not by an individual API. It is typically mapped to an HTTP header
+ # and/or a URL query parameter. This configuration specifies which methods
+ # change the names of the system parameters.
+ class SystemParameters
+ include Google::Apis::Core::Hashable
+
+ # Define system parameters.
+ # The parameters defined here will override the default parameters
+ # implemented by the system. If this field is missing from the service
+ # config, default system parameters will be used. Default system parameters
+ # and names is implementation-dependent.
+ # Example: define api key for all methods
+ # system_parameters
+ # rules:
+ # - selector: "*"
+ # parameters:
+ # - name: api_key
+ # url_query_parameter: api_key
+ # Example: define 2 api key names for a specific method.
+ # system_parameters
+ # rules:
+ # - selector: "/ListShelves"
+ # parameters:
+ # - name: api_key
+ # http_header: Api-Key1
+ # - name: api_key
+ # http_header: Api-Key2
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ # Corresponds to the JSON property `rules`
+ # @return [Array<Google::Apis::ServicemanagementV1::SystemParameterRule>]
+ attr_accessor :rules
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @rules = args[:rules] if args.key?(:rules)
+ end
+ end
+
# Output generated from semantically comparing two versions of a service
# configuration.
# Includes detailed information about a field that have changed with
# applicable advice about potential consequences for the change, such as
# backwards-incompatibility.
class ConfigChange
include Google::Apis::Core::Hashable
+ # Value of the changed object in the new Service configuration,
+ # in JSON format. This field will not be populated if ChangeType == REMOVED.
+ # Corresponds to the JSON property `newValue`
+ # @return [String]
+ attr_accessor :new_value
+
+ # The type for this change, either ADDED, REMOVED, or MODIFIED.
+ # Corresponds to the JSON property `changeType`
+ # @return [String]
+ attr_accessor :change_type
+
# Object hierarchy path to the change, with levels separated by a '.'
# character. For repeated fields, an applicable unique identifier field is
# used for the index (usually selector, name, or id). For maps, the term
# 'key' is used. If the field has no unique identifier, the numeric index
# is used.
@@ -4200,85 +3841,47 @@
# possible impact of this change.
# Corresponds to the JSON property `advices`
# @return [Array<Google::Apis::ServicemanagementV1::Advice>]
attr_accessor :advices
- # Value of the changed object in the new Service configuration,
- # in JSON format. This field will not be populated if ChangeType == REMOVED.
- # Corresponds to the JSON property `newValue`
- # @return [String]
- attr_accessor :new_value
-
- # The type for this change, either ADDED, REMOVED, or MODIFIED.
- # Corresponds to the JSON property `changeType`
- # @return [String]
- attr_accessor :change_type
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @new_value = args[:new_value] if args.key?(:new_value)
+ @change_type = args[:change_type] if args.key?(:change_type)
@element = args[:element] if args.key?(:element)
@old_value = args[:old_value] if args.key?(:old_value)
@advices = args[:advices] if args.key?(:advices)
- @new_value = args[:new_value] if args.key?(:new_value)
- @change_type = args[:change_type] if args.key?(:change_type)
end
end
- # ### System parameter configuration
- # A system parameter is a special kind of parameter defined by the API
- # system, not by an individual API. It is typically mapped to an HTTP header
- # and/or a URL query parameter. This configuration specifies which methods
- # change the names of the system parameters.
- class SystemParameters
- include Google::Apis::Core::Hashable
-
- # Define system parameters.
- # The parameters defined here will override the default parameters
- # implemented by the system. If this field is missing from the service
- # config, default system parameters will be used. Default system parameters
- # and names is implementation-dependent.
- # Example: define api key for all methods
- # system_parameters
- # rules:
- # - selector: "*"
- # parameters:
- # - name: api_key
- # url_query_parameter: api_key
- # Example: define 2 api key names for a specific method.
- # system_parameters
- # rules:
- # - selector: "/ListShelves"
- # parameters:
- # - name: api_key
- # http_header: Api-Key1
- # - name: api_key
- # http_header: Api-Key2
- # **NOTE:** All service configuration rules follow "last one wins" order.
- # Corresponds to the JSON property `rules`
- # @return [Array<Google::Apis::ServicemanagementV1::SystemParameterRule>]
- attr_accessor :rules
-
- def initialize(**args)
- update!(**args)
- end
-
- # Update properties of this object
- def update!(**args)
- @rules = args[:rules] if args.key?(:rules)
- end
- end
-
# A rollout resource that defines how service configuration versions are pushed
# to control plane systems. Typically, you create a new version of the
# service config, and then create a Rollout to push the service config.
class Rollout
include Google::Apis::Core::Hashable
+ # Optional unique identifier of this Rollout. Only lower case letters, digits
+ # and '-' are allowed.
+ # If not specified by client, the server will generate one. The generated id
+ # will have the form of <date><revision number>, where "date" is the create
+ # date in ISO 8601 format. "revision number" is a monotonically increasing
+ # positive number that is reset every day for each service.
+ # An example of the generated rollout_id is '2016-02-16r1'
+ # Corresponds to the JSON property `rolloutId`
+ # @return [String]
+ attr_accessor :rollout_id
+
+ # Strategy used to delete a service. This strategy is a placeholder only
+ # used by the system generated rollout to delete a service.
+ # Corresponds to the JSON property `deleteServiceStrategy`
+ # @return [Google::Apis::ServicemanagementV1::DeleteServiceStrategy]
+ attr_accessor :delete_service_strategy
+
# Creation time of the rollout. Readonly.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
@@ -4292,10 +3895,15 @@
# The name of the service associated with this Rollout.
# Corresponds to the JSON property `serviceName`
# @return [String]
attr_accessor :service_name
+ # The user who created the Rollout. Readonly.
+ # Corresponds to the JSON property `createdBy`
+ # @return [String]
+ attr_accessor :created_by
+
# Strategy that specifies how Google Service Control should select
# different
# versions of service configurations based on traffic percentage.
# One example of how to gradually rollout a new service configuration using
# this
@@ -4321,45 +3929,23 @@
# `
# Corresponds to the JSON property `trafficPercentStrategy`
# @return [Google::Apis::ServicemanagementV1::TrafficPercentStrategy]
attr_accessor :traffic_percent_strategy
- # The user who created the Rollout. Readonly.
- # Corresponds to the JSON property `createdBy`
- # @return [String]
- attr_accessor :created_by
-
- # Optional unique identifier of this Rollout. Only lower case letters, digits
- # and '-' are allowed.
- # If not specified by client, the server will generate one. The generated id
- # will have the form of <date><revision number>, where "date" is the create
- # date in ISO 8601 format. "revision number" is a monotonically increasing
- # positive number that is reset every day for each service.
- # An example of the generated rollout_id is '2016-02-16r1'
- # Corresponds to the JSON property `rolloutId`
- # @return [String]
- attr_accessor :rollout_id
-
- # Strategy used to delete a service. This strategy is a placeholder only
- # used by the system generated rollout to delete a service.
- # Corresponds to the JSON property `deleteServiceStrategy`
- # @return [Google::Apis::ServicemanagementV1::DeleteServiceStrategy]
- attr_accessor :delete_service_strategy
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @rollout_id = args[:rollout_id] if args.key?(:rollout_id)
+ @delete_service_strategy = args[:delete_service_strategy] if args.key?(:delete_service_strategy)
@create_time = args[:create_time] if args.key?(:create_time)
@status = args[:status] if args.key?(:status)
@service_name = args[:service_name] if args.key?(:service_name)
- @traffic_percent_strategy = args[:traffic_percent_strategy] if args.key?(:traffic_percent_strategy)
@created_by = args[:created_by] if args.key?(:created_by)
- @rollout_id = args[:rollout_id] if args.key?(:rollout_id)
- @delete_service_strategy = args[:delete_service_strategy] if args.key?(:delete_service_strategy)
+ @traffic_percent_strategy = args[:traffic_percent_strategy] if args.key?(:traffic_percent_strategy)
end
end
# Quota configuration helps to achieve fairness and budgeting in service
# usage.
@@ -4462,19 +4048,10 @@
# Request message for `SetIamPolicy` method.
class SetIamPolicyRequest
include Google::Apis::Core::Hashable
- # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
- # the fields in the mask will be modified. If no mask is provided, the
- # following default mask is used:
- # paths: "bindings, etag"
- # This field is only used by Cloud IAM.
- # Corresponds to the JSON property `updateMask`
- # @return [String]
- attr_accessor :update_mask
-
# Defines an Identity and Access Management (IAM) policy. It is used to
# specify access control policies for Cloud Platform resources.
# A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
# `members` to a `role`, where the members can be user accounts, Google groups,
# Google domains, and service accounts. A `role` is a named list of permissions
@@ -4501,57 +4078,66 @@
# [IAM developer's guide](https://cloud.google.com/iam).
# Corresponds to the JSON property `policy`
# @return [Google::Apis::ServicemanagementV1::Policy]
attr_accessor :policy
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
+ # the fields in the mask will be modified. If no mask is provided, the
+ # following default mask is used:
+ # paths: "bindings, etag"
+ # This field is only used by Cloud IAM.
+ # Corresponds to the JSON property `updateMask`
+ # @return [String]
+ attr_accessor :update_mask
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @update_mask = args[:update_mask] if args.key?(:update_mask)
@policy = args[:policy] if args.key?(:policy)
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
end
end
- # Strategy used to delete a service. This strategy is a placeholder only
- # used by the system generated rollout to delete a service.
- class DeleteServiceStrategy
+ # Represents the status of one operation step.
+ class Step
include Google::Apis::Core::Hashable
+ # The status code.
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ # The short description of the step.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
+ @status = args[:status] if args.key?(:status)
+ @description = args[:description] if args.key?(:description)
end
end
- # Represents the status of one operation step.
- class Step
+ # Strategy used to delete a service. This strategy is a placeholder only
+ # used by the system generated rollout to delete a service.
+ class DeleteServiceStrategy
include Google::Apis::Core::Hashable
- # The short description of the step.
- # Corresponds to the JSON property `description`
- # @return [String]
- attr_accessor :description
-
- # The status code.
- # Corresponds to the JSON property `status`
- # @return [String]
- attr_accessor :status
-
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @description = args[:description] if args.key?(:description)
- @status = args[:status] if args.key?(:status)
end
end
# Configuration of a specific logging destination (the producer project
# or the consumer project).
@@ -4643,33 +4229,573 @@
# logs:
# - activity_history
class Logging
include Google::Apis::Core::Hashable
- # Logging configurations for sending logs to the consumer project.
- # There can be multiple consumer destinations, each one must have a
- # different monitored resource type. A log can be used in at most
- # one consumer destination.
- # Corresponds to the JSON property `consumerDestinations`
- # @return [Array<Google::Apis::ServicemanagementV1::LoggingDestination>]
- attr_accessor :consumer_destinations
-
# Logging configurations for sending logs to the producer project.
# There can be multiple producer destinations, each one must have a
# different monitored resource type. A log can be used in at most
# one producer destination.
# Corresponds to the JSON property `producerDestinations`
# @return [Array<Google::Apis::ServicemanagementV1::LoggingDestination>]
attr_accessor :producer_destinations
+ # Logging configurations for sending logs to the consumer project.
+ # There can be multiple consumer destinations, each one must have a
+ # different monitored resource type. A log can be used in at most
+ # one consumer destination.
+ # Corresponds to the JSON property `consumerDestinations`
+ # @return [Array<Google::Apis::ServicemanagementV1::LoggingDestination>]
+ attr_accessor :consumer_destinations
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
- @consumer_destinations = args[:consumer_destinations] if args.key?(:consumer_destinations)
@producer_destinations = args[:producer_destinations] if args.key?(:producer_destinations)
+ @consumer_destinations = args[:consumer_destinations] if args.key?(:consumer_destinations)
+ end
+ end
+
+ # Method represents a method of an api.
+ class MethodProp
+ include Google::Apis::Core::Hashable
+
+ # If true, the request is streamed.
+ # Corresponds to the JSON property `requestStreaming`
+ # @return [Boolean]
+ attr_accessor :request_streaming
+ alias_method :request_streaming?, :request_streaming
+
+ # The source syntax of this method.
+ # Corresponds to the JSON property `syntax`
+ # @return [String]
+ attr_accessor :syntax
+
+ # The URL of the output message type.
+ # Corresponds to the JSON property `responseTypeUrl`
+ # @return [String]
+ attr_accessor :response_type_url
+
+ # Any metadata attached to the method.
+ # Corresponds to the JSON property `options`
+ # @return [Array<Google::Apis::ServicemanagementV1::Option>]
+ attr_accessor :options
+
+ # If true, the response is streamed.
+ # Corresponds to the JSON property `responseStreaming`
+ # @return [Boolean]
+ attr_accessor :response_streaming
+ alias_method :response_streaming?, :response_streaming
+
+ # The simple name of this method.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # A URL of the input message type.
+ # Corresponds to the JSON property `requestTypeUrl`
+ # @return [String]
+ attr_accessor :request_type_url
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @request_streaming = args[:request_streaming] if args.key?(:request_streaming)
+ @syntax = args[:syntax] if args.key?(:syntax)
+ @response_type_url = args[:response_type_url] if args.key?(:response_type_url)
+ @options = args[:options] if args.key?(:options)
+ @response_streaming = args[:response_streaming] if args.key?(:response_streaming)
+ @name = args[:name] if args.key?(:name)
+ @request_type_url = args[:request_type_url] if args.key?(:request_type_url)
+ end
+ end
+
+ # `QuotaLimit` defines a specific limit that applies over a specified duration
+ # for a limit type. There can be at most one limit for a duration and limit
+ # type combination defined within a `QuotaGroup`.
+ class QuotaLimit
+ include Google::Apis::Core::Hashable
+
+ # Free tier value displayed in the Developers Console for this limit.
+ # The free tier is the number of tokens that will be subtracted from the
+ # billed amount when billing is enabled.
+ # This field can only be set on a limit with duration "1d", in a billable
+ # group; it is invalid on any other limit. If this field is not set, it
+ # defaults to 0, indicating that there is no free tier for this service.
+ # Used by group-based quotas only.
+ # Corresponds to the JSON property `freeTier`
+ # @return [Fixnum]
+ attr_accessor :free_tier
+
+ # Duration of this limit in textual notation. Example: "100s", "24h", "1d".
+ # For duration longer than a day, only multiple of days is supported. We
+ # support only "100s" and "1d" for now. Additional support will be added in
+ # the future. "0" indicates indefinite duration.
+ # Used by group-based quotas only.
+ # Corresponds to the JSON property `duration`
+ # @return [String]
+ attr_accessor :duration
+
+ # Default number of tokens that can be consumed during the specified
+ # duration. This is the number of tokens assigned when a client
+ # application developer activates the service for his/her project.
+ # Specifying a value of 0 will block all requests. This can be used if you
+ # are provisioning quota to selected consumers and blocking others.
+ # Similarly, a value of -1 will indicate an unlimited quota. No other
+ # negative values are allowed.
+ # Used by group-based quotas only.
+ # Corresponds to the JSON property `defaultLimit`
+ # @return [Fixnum]
+ attr_accessor :default_limit
+
+ # User-visible display name for this limit.
+ # Optional. If not set, the UI will provide a default display name based on
+ # the quota configuration. This field can be used to override the default
+ # display name generated from the configuration.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # The name of the metric this quota limit applies to. The quota limits with
+ # the same metric will be checked together during runtime. The metric must be
+ # defined within the service config.
+ # Used by metric-based quotas only.
+ # Corresponds to the JSON property `metric`
+ # @return [String]
+ attr_accessor :metric
+
+ # Optional. User-visible, extended description for this quota limit.
+ # Should be used only when more context is needed to understand this limit
+ # than provided by the limit's display name (see: `display_name`).
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # Tiered limit values. Also allows for regional or zone overrides for these
+ # values if "/`region`" or "/`zone`" is specified in the unit field.
+ # Currently supported tiers from low to high:
+ # VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
+ # To apply different limit values for users according to their tiers, specify
+ # the values for the tiers you want to differentiate. For example:
+ # `LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000`
+ # The limit value for each tier is optional except for the tier STANDARD.
+ # The limit value for an unspecified tier falls to the value of its next
+ # tier towards tier STANDARD. For the above example, the limit value for tier
+ # STANDARD is 500.
+ # To apply the same limit value for all users, just specify limit value for
+ # tier STANDARD. For example: `STANDARD:500`.
+ # To apply a regional overide for a tier, add a map entry with key
+ # "<TIER>/<region>", where <region> is a region name. Similarly, for a zone
+ # override, add a map entry with key "<TIER>/`zone`".
+ # Further, a wildcard can be used at the end of a zone name in order to
+ # specify zone level overrides. For example:
+ # LOW: 10, STANDARD: 50, HIGH: 100,
+ # LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
+ # LOW/us-central1-*: 10, STANDARD/us-central1-*: 20, HIGH/us-central1-*: 80
+ # The regional overrides tier set for each region must be the same as
+ # the tier set for default limit values. Same rule applies for zone overrides
+ # tier as well.
+ # Used by metric-based quotas only.
+ # Corresponds to the JSON property `values`
+ # @return [Hash<String,Fixnum>]
+ attr_accessor :values
+
+ # Specify the unit of the quota limit. It uses the same syntax as
+ # Metric.unit. The supported unit kinds are determined by the quota
+ # backend system.
+ # The [Google Service Control](https://cloud.google.com/service-control)
+ # supports the following unit components:
+ # * One of the time intevals:
+ # * "/min" for quota every minute.
+ # * "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
+ # * Otherwise the quota won't be reset by time, such as storage limit.
+ # * One and only one of the granted containers:
+ # * "/`organization`" quota for an organization.
+ # * "/`project`" quota for a project.
+ # * "/`folder`" quota for a folder.
+ # * "/`resource`" quota for a universal resource.
+ # * Zero or more quota segmentation dimension. Not all combos are valid.
+ # * "/`region`" quota for every region. Not to be used with time intervals.
+ # * Otherwise the resources granted on the target is not segmented.
+ # * "/`zone`" quota for every zone. Not to be used with time intervals.
+ # * Otherwise the resources granted on the target is not segmented.
+ # * "/`resource`" quota for a resource associated with a project or org.
+ # Here are some examples:
+ # * "1/min/`project`" for quota per minute per project.
+ # * "1/min/`user`" for quota per minute per user.
+ # * "1/min/`organization`" for quota per minute per organization.
+ # Note: the order of unit components is insignificant.
+ # The "1" at the beginning is required to follow the metric unit syntax.
+ # Used by metric-based quotas only.
+ # Corresponds to the JSON property `unit`
+ # @return [String]
+ attr_accessor :unit
+
+ # Maximum number of tokens that can be consumed during the specified
+ # duration. Client application developers can override the default limit up
+ # to this maximum. If specified, this value cannot be set to a value less
+ # than the default limit. If not specified, it is set to the default limit.
+ # To allow clients to apply overrides with no upper bound, set this to -1,
+ # indicating unlimited maximum quota.
+ # Used by group-based quotas only.
+ # Corresponds to the JSON property `maxLimit`
+ # @return [Fixnum]
+ attr_accessor :max_limit
+
+ # Name of the quota limit. The name is used to refer to the limit when
+ # overriding the default limit on per-consumer basis.
+ # For group-based quota limits, the name must be unique within the quota
+ # group. If a name is not provided, it will be generated from the limit_by
+ # and duration fields.
+ # For metric-based quota limits, the name must be provided, and it must be
+ # unique within the service. The name can only include alphanumeric
+ # characters as well as '-'.
+ # The maximum length of the limit name is 64 characters.
+ # The name of a limit is used as a unique identifier for this limit.
+ # Therefore, once a limit has been put into use, its name should be
+ # immutable. You can use the display_name field to provide a user-friendly
+ # name for the limit. The display name can be evolved over time without
+ # affecting the identity of the limit.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @free_tier = args[:free_tier] if args.key?(:free_tier)
+ @duration = args[:duration] if args.key?(:duration)
+ @default_limit = args[:default_limit] if args.key?(:default_limit)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @metric = args[:metric] if args.key?(:metric)
+ @description = args[:description] if args.key?(:description)
+ @values = args[:values] if args.key?(:values)
+ @unit = args[:unit] if args.key?(:unit)
+ @max_limit = args[:max_limit] if args.key?(:max_limit)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # Represents a service configuration with its name and id.
+ class ConfigRef
+ include Google::Apis::Core::Hashable
+
+ # Resource name of a service config. It must have the following
+ # format: "services/`service name`/configs/`config id`".
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # Response message for ListServiceRollouts method.
+ class ListServiceRolloutsResponse
+ include Google::Apis::Core::Hashable
+
+ # The token of the next page of results.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ # The list of rollout resources.
+ # Corresponds to the JSON property `rollouts`
+ # @return [Array<Google::Apis::ServicemanagementV1::Rollout>]
+ attr_accessor :rollouts
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ @rollouts = args[:rollouts] if args.key?(:rollouts)
+ end
+ end
+
+ # Declares an API to be included in this API. The including API must
+ # redeclare all the methods from the included API, but documentation
+ # and options are inherited as follows:
+ # - If after comment and whitespace stripping, the documentation
+ # string of the redeclared method is empty, it will be inherited
+ # from the original method.
+ # - Each annotation belonging to the service config (http,
+ # visibility) which is not set in the redeclared method will be
+ # inherited.
+ # - If an http annotation is inherited, the path pattern will be
+ # modified as follows. Any version prefix will be replaced by the
+ # version of the including API plus the root path if specified.
+ # Example of a simple mixin:
+ # package google.acl.v1;
+ # service AccessControl `
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) `
+ # option (google.api.http).get = "/v1/`resource=**`:getAcl";
+ # `
+ # `
+ # package google.storage.v2;
+ # service Storage `
+ # // rpc GetAcl(GetAclRequest) returns (Acl);
+ # // Get a data record.
+ # rpc GetData(GetDataRequest) returns (Data) `
+ # option (google.api.http).get = "/v2/`resource=**`";
+ # `
+ # `
+ # Example of a mixin configuration:
+ # apis:
+ # - name: google.storage.v2.Storage
+ # mixins:
+ # - name: google.acl.v1.AccessControl
+ # The mixin construct implies that all methods in `AccessControl` are
+ # also declared with same name and request/response types in
+ # `Storage`. A documentation generator or annotation processor will
+ # see the effective `Storage.GetAcl` method after inherting
+ # documentation and annotations as follows:
+ # service Storage `
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) `
+ # option (google.api.http).get = "/v2/`resource=**`:getAcl";
+ # `
+ # ...
+ # `
+ # Note how the version in the path pattern changed from `v1` to `v2`.
+ # If the `root` field in the mixin is specified, it should be a
+ # relative path under which inherited HTTP paths are placed. Example:
+ # apis:
+ # - name: google.storage.v2.Storage
+ # mixins:
+ # - name: google.acl.v1.AccessControl
+ # root: acls
+ # This implies the following inherited HTTP annotation:
+ # service Storage `
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) `
+ # option (google.api.http).get = "/v2/acls/`resource=**`:getAcl";
+ # `
+ # ...
+ # `
+ class Mixin
+ include Google::Apis::Core::Hashable
+
+ # If non-empty specifies a path under which inherited HTTP paths
+ # are rooted.
+ # Corresponds to the JSON property `root`
+ # @return [String]
+ attr_accessor :root
+
+ # The fully qualified name of the API which is included.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @root = args[:root] if args.key?(:root)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # The metadata associated with a long running operation resource.
+ class FlowOperationMetadata
+ include Google::Apis::Core::Hashable
+
+ # The name of the top-level flow corresponding to this operation.
+ # Must be equal to the "name" field for a FlowName enum.
+ # Corresponds to the JSON property `flowName`
+ # @return [String]
+ attr_accessor :flow_name
+
+ # The full name of the resources that this flow is directly associated with.
+ # Corresponds to the JSON property `resourceNames`
+ # @return [Array<String>]
+ attr_accessor :resource_names
+
+ # The state of the operation with respect to cancellation.
+ # Corresponds to the JSON property `cancelState`
+ # @return [String]
+ attr_accessor :cancel_state
+
+ # Deadline for the flow to complete, to prevent orphaned Operations.
+ # If the flow has not completed by this time, it may be terminated by
+ # the engine, or force-failed by Operation lookup.
+ # Note that this is not a hard deadline after which the Flow will
+ # definitely be failed, rather it is a deadline after which it is reasonable
+ # to suspect a problem and other parts of the system may kill operation
+ # to ensure we don't have orphans.
+ # see also: go/prevent-orphaned-operations
+ # Corresponds to the JSON property `deadline`
+ # @return [String]
+ attr_accessor :deadline
+
+ # The start time of the operation.
+ # Corresponds to the JSON property `startTime`
+ # @return [String]
+ attr_accessor :start_time
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @flow_name = args[:flow_name] if args.key?(:flow_name)
+ @resource_names = args[:resource_names] if args.key?(:resource_names)
+ @cancel_state = args[:cancel_state] if args.key?(:cancel_state)
+ @deadline = args[:deadline] if args.key?(:deadline)
+ @start_time = args[:start_time] if args.key?(:start_time)
+ end
+ end
+
+ # Customize service error responses. For example, list any service
+ # specific protobuf types that can appear in error detail lists of
+ # error responses.
+ # Example:
+ # custom_error:
+ # types:
+ # - google.foo.v1.CustomError
+ # - google.foo.v1.AnotherError
+ class CustomError
+ include Google::Apis::Core::Hashable
+
+ # The list of custom error rules that apply to individual API messages.
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ # Corresponds to the JSON property `rules`
+ # @return [Array<Google::Apis::ServicemanagementV1::CustomErrorRule>]
+ attr_accessor :rules
+
+ # The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.
+ # Corresponds to the JSON property `types`
+ # @return [Array<String>]
+ attr_accessor :types
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @rules = args[:rules] if args.key?(:rules)
+ @types = args[:types] if args.key?(:types)
+ end
+ end
+
+ # Options for counters
+ class CounterOptions
+ include Google::Apis::Core::Hashable
+
+ # The metric to update.
+ # Corresponds to the JSON property `metric`
+ # @return [String]
+ attr_accessor :metric
+
+ # The field value to attribute.
+ # Corresponds to the JSON property `field`
+ # @return [String]
+ attr_accessor :field
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @metric = args[:metric] if args.key?(:metric)
+ @field = args[:field] if args.key?(:field)
+ end
+ end
+
+ # Defines the HTTP configuration for a service. It contains a list of
+ # HttpRule, each specifying the mapping of an RPC method
+ # to one or more HTTP REST API methods.
+ class Http
+ include Google::Apis::Core::Hashable
+
+ # A list of HTTP configuration rules that apply to individual API methods.
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ # Corresponds to the JSON property `rules`
+ # @return [Array<Google::Apis::ServicemanagementV1::HttpRule>]
+ attr_accessor :rules
+
+ # When set to true, URL path parmeters will be fully URI-decoded except in
+ # cases of single segment matches in reserved expansion, where "%2F" will be
+ # left encoded.
+ # The default behavior is to not decode RFC 6570 reserved characters in multi
+ # segment matches.
+ # Corresponds to the JSON property `fullyDecodeReservedExpansion`
+ # @return [Boolean]
+ attr_accessor :fully_decode_reserved_expansion
+ alias_method :fully_decode_reserved_expansion?, :fully_decode_reserved_expansion
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @rules = args[:rules] if args.key?(:rules)
+ @fully_decode_reserved_expansion = args[:fully_decode_reserved_expansion] if args.key?(:fully_decode_reserved_expansion)
+ end
+ end
+
+ # Source information used to create a Service Config
+ class SourceInfo
+ include Google::Apis::Core::Hashable
+
+ # All files used during config generation.
+ # Corresponds to the JSON property `sourceFiles`
+ # @return [Array<Hash<String,Object>>]
+ attr_accessor :source_files
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @source_files = args[:source_files] if args.key?(:source_files)
+ end
+ end
+
+ # Selects and configures the service controller used by the service. The
+ # service controller handles features like abuse, quota, billing, logging,
+ # monitoring, etc.
+ class Control
+ include Google::Apis::Core::Hashable
+
+ # The service control environment to use. If empty, no control plane
+ # feature (like quota and billing) will be enabled.
+ # Corresponds to the JSON property `environment`
+ # @return [String]
+ attr_accessor :environment
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @environment = args[:environment] if args.key?(:environment)
end
end
end
end
end