generated/google/apis/appengine_v1/classes.rb in google-api-client-0.11.1 vs generated/google/apis/appengine_v1/classes.rb in google-api-client-0.11.2

- old
+ new

@@ -20,397 +20,323 @@ module Google module Apis module AppengineV1 - # The response message for Operations.ListOperations. - class ListOperationsResponse + # Files served directly to the user for a given URL, such as images, CSS + # stylesheets, or JavaScript source files. Static file handlers describe which + # files in the application directory are static files, and which URLs serve them. + class StaticFilesHandler 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::AppengineV1::Operation>] - attr_accessor :operations + # Time a static file served by this handler should be cached by web proxies and + # browsers. + # Corresponds to the JSON property `expiration` + # @return [String] + attr_accessor :expiration - # The standard List next-page token. - # Corresponds to the JSON property `nextPageToken` + # Whether files should also be uploaded as code data. By default, files declared + # in static file handlers are uploaded as static data and are only served to end + # users; they cannot be read by the application. If enabled, uploads are charged + # against both your code and static data storage resource quotas. + # Corresponds to the JSON property `applicationReadable` + # @return [Boolean] + attr_accessor :application_readable + alias_method :application_readable?, :application_readable + + # HTTP headers to use for all responses from these URLs. + # Corresponds to the JSON property `httpHeaders` + # @return [Hash<String,String>] + attr_accessor :http_headers + + # Regular expression that matches the file paths for all files that should be + # referenced by this handler. + # Corresponds to the JSON property `uploadPathRegex` # @return [String] - attr_accessor :next_page_token + attr_accessor :upload_path_regex + # Path to the static files matched by the URL pattern, from the application root + # directory. The path can refer to text matched in groupings in the URL pattern. + # Corresponds to the JSON property `path` + # @return [String] + attr_accessor :path + + # MIME type used to serve all files served by this handler.Defaults to file- + # specific MIME types, which are derived from each file's filename extension. + # Corresponds to the JSON property `mimeType` + # @return [String] + attr_accessor :mime_type + + # Whether this handler should match the request if the file referenced by the + # handler does not exist. + # Corresponds to the JSON property `requireMatchingFile` + # @return [Boolean] + attr_accessor :require_matching_file + alias_method :require_matching_file?, :require_matching_file + 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) + @expiration = args[:expiration] if args.key?(:expiration) + @application_readable = args[:application_readable] if args.key?(:application_readable) + @http_headers = args[:http_headers] if args.key?(:http_headers) + @upload_path_regex = args[:upload_path_regex] if args.key?(:upload_path_regex) + @path = args[:path] if args.key?(:path) + @mime_type = args[:mime_type] if args.key?(:mime_type) + @require_matching_file = args[:require_matching_file] if args.key?(:require_matching_file) end end - # This resource represents a long-running operation that is the result of a - # network API call. - class Operation + # Target scaling by disk usage. Only applicable for VM runtimes. + class DiskUtilization include Google::Apis::Core::Hashable - # 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 + # Target bytes read per second. + # Corresponds to the JSON property `targetReadBytesPerSecond` + # @return [Fixnum] + attr_accessor :target_read_bytes_per_second - # Service-specific metadata associated with the operation. It typically contains - # progress information and common metadata such as create time. Some services - # might not provide such metadata. Any method that returns a long-running - # operation should document the metadata type, if any. - # Corresponds to the JSON property `metadata` - # @return [Hash<String,Object>] - attr_accessor :metadata + # Target ops read per seconds. + # Corresponds to the JSON property `targetReadOpsPerSecond` + # @return [Fixnum] + attr_accessor :target_read_ops_per_second - # If the value is false, it means the operation is still in progress. If true, - # the operation is completed, and either error or response is available. - # Corresponds to the JSON property `done` - # @return [Boolean] - attr_accessor :done - alias_method :done?, :done + # Target ops written per second. + # Corresponds to the JSON property `targetWriteOpsPerSecond` + # @return [Fixnum] + attr_accessor :target_write_ops_per_second - # 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 - # needsOverviewThe Status message contains three pieces of data: error code, - # error message, and error details. The error code should be an enum value of - # google.rpc.Code, but it may accept additional error codes if needed. The 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.Language mappingThe 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 in Java, - # but more likely mapped to some error codes in C.Other usesThe error model and - # the Status message can be used in a variety of environments, either with or - # without APIs, to provide a consistent developer experience across different - # environments.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. 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 represented directly using the Status message. - # Logging. If some API errors are stored in logs, the message Status could be - # used directly after any stripping needed for security/privacy reasons. - # Corresponds to the JSON property `error` - # @return [Google::Apis::AppengineV1::Status] - attr_accessor :error + # Target bytes written per second. + # Corresponds to the JSON property `targetWriteBytesPerSecond` + # @return [Fixnum] + attr_accessor :target_write_bytes_per_second - # 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 - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @name = args[:name] if args.key?(:name) - @metadata = args[:metadata] if args.key?(:metadata) - @done = args[:done] if args.key?(:done) - @error = args[:error] if args.key?(:error) - @response = args[:response] if args.key?(:response) + @target_read_bytes_per_second = args[:target_read_bytes_per_second] if args.key?(:target_read_bytes_per_second) + @target_read_ops_per_second = args[:target_read_ops_per_second] if args.key?(:target_read_ops_per_second) + @target_write_ops_per_second = args[:target_write_ops_per_second] if args.key?(:target_write_ops_per_second) + @target_write_bytes_per_second = args[:target_write_bytes_per_second] if args.key?(:target_write_bytes_per_second) end end - # 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 - # needsOverviewThe Status message contains three pieces of data: error code, - # error message, and error details. The error code should be an enum value of - # google.rpc.Code, but it may accept additional error codes if needed. The 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.Language mappingThe 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 in Java, - # but more likely mapped to some error codes in C.Other usesThe error model and - # the Status message can be used in a variety of environments, either with or - # without APIs, to provide a consistent developer experience across different - # environments.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. 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 represented directly using the Status message. - # 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 + # A service with basic scaling will create an instance when the application + # receives a request. The instance will be turned down when the app becomes idle. + # Basic scaling is ideal for work that is intermittent or driven by user + # activity. + class BasicScaling include Google::Apis::Core::Hashable - # The status code, which should be an enum value of google.rpc.Code. - # Corresponds to the JSON property `code` + # Maximum number of instances to create for this version. + # Corresponds to the JSON property `maxInstances` # @return [Fixnum] - attr_accessor :code + attr_accessor :max_instances - # A developer-facing error message, which should be in English. Any user-facing - # error message should be localized and sent in the google.rpc.Status.details - # field, or localized by the client. - # Corresponds to the JSON property `message` + # Duration of time after the last request that an instance must wait before the + # instance is shut down. + # Corresponds to the JSON property `idleTimeout` # @return [String] - attr_accessor :message + attr_accessor :idle_timeout - # 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) - @code = args[:code] if args.key?(:code) - @message = args[:message] if args.key?(:message) - @details = args[:details] if args.key?(:details) + @max_instances = args[:max_instances] if args.key?(:max_instances) + @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout) end end - # An Application resource contains the top-level configuration of an App Engine - # application. - class Application + # Target scaling by CPU usage. + class CpuUtilization include Google::Apis::Core::Hashable - # Full path to the Application resource in the API. Example: apps/myapp.@ - # OutputOnly - # Corresponds to the JSON property `name` + # Period of time over which CPU utilization is calculated. + # Corresponds to the JSON property `aggregationWindowLength` # @return [String] - attr_accessor :name + attr_accessor :aggregation_window_length - # Identifier of the Application resource. This identifier is equivalent to the - # project ID of the Google Cloud Platform project where you want to deploy your - # application. Example: myapp. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id + # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1. + # Corresponds to the JSON property `targetUtilization` + # @return [Float] + attr_accessor :target_utilization - # HTTP path dispatch rules for requests to the application that do not - # explicitly target a service or version. Rules are order-dependent. Up to 20 - # dispatch rules can be supported.@OutputOnly - # Corresponds to the JSON property `dispatchRules` - # @return [Array<Google::Apis::AppengineV1::UrlDispatchRule>] - attr_accessor :dispatch_rules - - # Google Apps authentication domain that controls which users can access this - # application.Defaults to open access for any Google Account. - # Corresponds to the JSON property `authDomain` - # @return [String] - attr_accessor :auth_domain - - # Location from which this application will be run. Application instances will - # run out of data centers in the chosen location, which is also where all of the - # application's end user content is stored.Defaults to us-central.Options are:us- - # central - Central USeurope-west - Western Europeus-east1 - Eastern US - # Corresponds to the JSON property `locationId` - # @return [String] - attr_accessor :location_id - - # Google Cloud Storage bucket that can be used for storing files associated with - # this application. This bucket is associated with the application and can be - # used by the gcloud deployment commands.@OutputOnly - # Corresponds to the JSON property `codeBucket` - # @return [String] - attr_accessor :code_bucket - - # Cookie expiration policy for this application. - # Corresponds to the JSON property `defaultCookieExpiration` - # @return [String] - attr_accessor :default_cookie_expiration - - # Serving status of this application. - # Corresponds to the JSON property `servingStatus` - # @return [String] - attr_accessor :serving_status - - # Hostname used to reach this application, as resolved by App Engine.@OutputOnly - # Corresponds to the JSON property `defaultHostname` - # @return [String] - attr_accessor :default_hostname - - # Google Cloud Storage bucket that can be used by this application to store - # content.@OutputOnly - # Corresponds to the JSON property `defaultBucket` - # @return [String] - attr_accessor :default_bucket - - # Identity-Aware Proxy - # Corresponds to the JSON property `iap` - # @return [Google::Apis::AppengineV1::IdentityAwareProxy] - attr_accessor :iap - - # The Google Container Registry domain used for storing managed build docker - # images for this application. - # Corresponds to the JSON property `gcrDomain` - # @return [String] - attr_accessor :gcr_domain - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @name = args[:name] if args.key?(:name) - @id = args[:id] if args.key?(:id) - @dispatch_rules = args[:dispatch_rules] if args.key?(:dispatch_rules) - @auth_domain = args[:auth_domain] if args.key?(:auth_domain) - @location_id = args[:location_id] if args.key?(:location_id) - @code_bucket = args[:code_bucket] if args.key?(:code_bucket) - @default_cookie_expiration = args[:default_cookie_expiration] if args.key?(:default_cookie_expiration) - @serving_status = args[:serving_status] if args.key?(:serving_status) - @default_hostname = args[:default_hostname] if args.key?(:default_hostname) - @default_bucket = args[:default_bucket] if args.key?(:default_bucket) - @iap = args[:iap] if args.key?(:iap) - @gcr_domain = args[:gcr_domain] if args.key?(:gcr_domain) + @aggregation_window_length = args[:aggregation_window_length] if args.key?(:aggregation_window_length) + @target_utilization = args[:target_utilization] if args.key?(:target_utilization) end end - # Rules to match an HTTP request and dispatch that request to a service. - class UrlDispatchRule + # 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 needsOverviewThe Status message contains + # three pieces of data: error code, error message, and error details. The error + # code should be an enum value of google.rpc.Code, but it may accept additional + # error codes if needed. The 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.Language mappingThe 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 in Java, but more likely mapped to some error codes in C. + # Other usesThe error model and the Status message can be used in a variety of + # environments, either with or without APIs, to provide a consistent developer + # experience across different environments.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. + # 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 represented directly + # using the Status message. + # 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 - # Domain name to match against. The wildcard "*" is supported if specified - # before a period: "*.".Defaults to matching all domains: "*". - # Corresponds to the JSON property `domain` - # @return [String] - attr_accessor :domain + # The status code, which should be an enum value of google.rpc.Code. + # Corresponds to the JSON property `code` + # @return [Fixnum] + attr_accessor :code - # Pathname within the host. Must start with a "/". A single "*" can be included - # at the end of the path.The sum of the lengths of the domain and path may not - # exceed 100 characters. - # Corresponds to the JSON property `path` + # A developer-facing error message, which should be in English. Any user-facing + # error message should be localized and sent in the google.rpc.Status.details + # field, or localized by the client. + # Corresponds to the JSON property `message` # @return [String] - attr_accessor :path + attr_accessor :message - # Resource ID of a service in this application that should serve the matched - # request. The service must already exist. Example: default. - # Corresponds to the JSON property `service` - # @return [String] - attr_accessor :service + # 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) - @domain = args[:domain] if args.key?(:domain) - @path = args[:path] if args.key?(:path) - @service = args[:service] if args.key?(:service) + @code = args[:code] if args.key?(:code) + @message = args[:message] if args.key?(:message) + @details = args[:details] if args.key?(:details) end end # Identity-Aware Proxy class IdentityAwareProxy include Google::Apis::Core::Hashable - # Whether the serving infrastructure will authenticate and authorize all - # incoming requests.If true, the oauth2_client_id and oauth2_client_secret - # fields must be non-empty. - # Corresponds to the JSON property `enabled` - # @return [Boolean] - attr_accessor :enabled - alias_method :enabled?, :enabled - - # OAuth2 client ID to use for the authentication flow. - # Corresponds to the JSON property `oauth2ClientId` - # @return [String] - attr_accessor :oauth2_client_id - # OAuth2 client secret to use for the authentication flow.For security reasons, # this value cannot be retrieved via the API. Instead, the SHA-256 hash of the # value is returned in the oauth2_client_secret_sha256 field.@InputOnly # Corresponds to the JSON property `oauth2ClientSecret` # @return [String] attr_accessor :oauth2_client_secret + # OAuth2 client ID to use for the authentication flow. + # Corresponds to the JSON property `oauth2ClientId` + # @return [String] + attr_accessor :oauth2_client_id + # Hex-encoded SHA-256 hash of the client secret.@OutputOnly # Corresponds to the JSON property `oauth2ClientSecretSha256` # @return [String] attr_accessor :oauth2_client_secret_sha256 + # Whether the serving infrastructure will authenticate and authorize all + # incoming requests.If true, the oauth2_client_id and oauth2_client_secret + # fields must be non-empty. + # Corresponds to the JSON property `enabled` + # @return [Boolean] + attr_accessor :enabled + alias_method :enabled?, :enabled + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @enabled = args[:enabled] if args.key?(:enabled) - @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id) @oauth2_client_secret = args[:oauth2_client_secret] if args.key?(:oauth2_client_secret) + @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id) @oauth2_client_secret_sha256 = args[:oauth2_client_secret_sha256] if args.key?(:oauth2_client_secret_sha256) + @enabled = args[:enabled] if args.key?(:enabled) end end - # Request message for 'Applications.RepairApplication'. - class RepairApplicationRequest + # A service with manual scaling runs continuously, allowing you to perform + # complex initialization and rely on the state of its memory over time. + class ManualScaling include Google::Apis::Core::Hashable + # Number of instances to assign to the service at the start. This number can + # later be altered by using the Modules API (https://cloud.google.com/appengine/ + # docs/python/modules/functions) set_num_instances() function. + # Corresponds to the JSON property `instances` + # @return [Fixnum] + attr_accessor :instances + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @instances = args[:instances] if args.key?(:instances) end end - # Response message for Services.ListServices. - class ListServicesResponse + # Metadata for the given google.cloud.location.Location. + class LocationMetadata include Google::Apis::Core::Hashable - # The services belonging to the requested application. - # Corresponds to the JSON property `services` - # @return [Array<Google::Apis::AppengineV1::Service>] - attr_accessor :services + # App Engine Flexible Environment is available in the given location.@OutputOnly + # Corresponds to the JSON property `flexibleEnvironmentAvailable` + # @return [Boolean] + attr_accessor :flexible_environment_available + alias_method :flexible_environment_available?, :flexible_environment_available - # Continuation token for fetching the next page of results. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token + # App Engine Standard Environment is available in the given location.@OutputOnly + # Corresponds to the JSON property `standardEnvironmentAvailable` + # @return [Boolean] + attr_accessor :standard_environment_available + alias_method :standard_environment_available?, :standard_environment_available def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @services = args[:services] if args.key?(:services) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @flexible_environment_available = args[:flexible_environment_available] if args.key?(:flexible_environment_available) + @standard_environment_available = args[:standard_environment_available] if args.key?(:standard_environment_available) end end # A Service resource is a logical component of an application that can share # state and communicate in a secure fashion with other services. For example, an @@ -425,507 +351,566 @@ # default.@OutputOnly # Corresponds to the JSON property `name` # @return [String] attr_accessor :name - # Relative name of the service within the application. Example: default.@ - # OutputOnly - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - # Traffic routing configuration for versions within a single service. Traffic # splits define how traffic directed to the service is assigned to versions. # Corresponds to the JSON property `split` # @return [Google::Apis::AppengineV1::TrafficSplit] attr_accessor :split + # Relative name of the service within the application. Example: default.@ + # OutputOnly + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) - @id = args[:id] if args.key?(:id) @split = args[:split] if args.key?(:split) + @id = args[:id] if args.key?(:id) end end - # Traffic routing configuration for versions within a single service. Traffic - # splits define how traffic directed to the service is assigned to versions. - class TrafficSplit + # The response message for Operations.ListOperations. + class ListOperationsResponse include Google::Apis::Core::Hashable - # Mechanism used to determine which version a request is sent to. The traffic - # selection algorithm will be stable for either type until allocations are - # changed. - # Corresponds to the JSON property `shardBy` + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` # @return [String] - attr_accessor :shard_by + attr_accessor :next_page_token - # Mapping from version IDs within the service to fractional (0.000, 1] - # allocations of traffic for that version. Each version can be specified only - # once, but some versions in the service may not have any traffic allocation. - # Services that have traffic allocated cannot be deleted until either the - # service is deleted or their traffic allocation is removed. Allocations must - # sum to 1. Up to two decimal place precision is supported for IP-based splits - # and up to three decimal places is supported for cookie-based splits. - # Corresponds to the JSON property `allocations` - # @return [Hash<String,Float>] - attr_accessor :allocations + # A list of operations that matches the specified filter in the request. + # Corresponds to the JSON property `operations` + # @return [Array<Google::Apis::AppengineV1::Operation>] + attr_accessor :operations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @shard_by = args[:shard_by] if args.key?(:shard_by) - @allocations = args[:allocations] if args.key?(:allocations) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @operations = args[:operations] if args.key?(:operations) end end - # Response message for Versions.ListVersions. - class ListVersionsResponse + # Metadata for the given google.longrunning.Operation. + class OperationMetadata include Google::Apis::Core::Hashable - # The versions belonging to the requested service. - # Corresponds to the JSON property `versions` - # @return [Array<Google::Apis::AppengineV1::Version>] - attr_accessor :versions + # Type of this operation. Deprecated, use method field instead. Example: " + # create_version".@OutputOnly + # Corresponds to the JSON property `operationType` + # @return [String] + attr_accessor :operation_type - # Continuation token for fetching the next page of results. - # Corresponds to the JSON property `nextPageToken` + # Timestamp that this operation was created.@OutputOnly + # Corresponds to the JSON property `insertTime` # @return [String] - attr_accessor :next_page_token + attr_accessor :insert_time + # User who requested this operation.@OutputOnly + # Corresponds to the JSON property `user` + # @return [String] + attr_accessor :user + + # Name of the resource that this operation is acting on. Example: apps/myapp/ + # modules/default.@OutputOnly + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # API method that initiated this operation. Example: google.appengine.v1beta4. + # Version.CreateVersion.@OutputOnly + # Corresponds to the JSON property `method` + # @return [String] + attr_accessor :method_prop + + # Timestamp that this operation completed.@OutputOnly + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @versions = args[:versions] if args.key?(:versions) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @operation_type = args[:operation_type] if args.key?(:operation_type) + @insert_time = args[:insert_time] if args.key?(:insert_time) + @user = args[:user] if args.key?(:user) + @target = args[:target] if args.key?(:target) + @method_prop = args[:method_prop] if args.key?(:method_prop) + @end_time = args[:end_time] if args.key?(:end_time) end end - # A Version resource is a specific set of source code and configuration files - # that are deployed into a service. - class Version + # Custom static error page to be served when an error occurs. + class ErrorHandler include Google::Apis::Core::Hashable - # Full path to the Version resource in the API. Example: apps/myapp/services/ - # default/versions/v1.@OutputOnly - # Corresponds to the JSON property `name` + # Error condition this handler applies to. + # Corresponds to the JSON property `errorCode` # @return [String] - attr_accessor :name + attr_accessor :error_code - # Relative name of the version within the service. Example: v1. Version names - # can contain only lowercase letters, numbers, or hyphens. Reserved names: " - # default", "latest", and any name with the prefix "ah-". - # Corresponds to the JSON property `id` + # MIME type of file. Defaults to text/html. + # Corresponds to the JSON property `mimeType` # @return [String] - attr_accessor :id + attr_accessor :mime_type - # Automatic scaling is based on request rate, response latencies, and other - # application metrics. - # Corresponds to the JSON property `automaticScaling` - # @return [Google::Apis::AppengineV1::AutomaticScaling] - attr_accessor :automatic_scaling + # Static file content to be served for this error. + # Corresponds to the JSON property `staticFile` + # @return [String] + attr_accessor :static_file - # A service with basic scaling will create an instance when the application - # receives a request. The instance will be turned down when the app becomes idle. - # Basic scaling is ideal for work that is intermittent or driven by user - # activity. - # Corresponds to the JSON property `basicScaling` - # @return [Google::Apis::AppengineV1::BasicScaling] - attr_accessor :basic_scaling + def initialize(**args) + update!(**args) + end - # A service with manual scaling runs continuously, allowing you to perform - # complex initialization and rely on the state of its memory over time. - # Corresponds to the JSON property `manualScaling` - # @return [Google::Apis::AppengineV1::ManualScaling] - attr_accessor :manual_scaling + # Update properties of this object + def update!(**args) + @error_code = args[:error_code] if args.key?(:error_code) + @mime_type = args[:mime_type] if args.key?(:mime_type) + @static_file = args[:static_file] if args.key?(:static_file) + end + end - # Before an application can receive email or XMPP messages, the application must - # be configured to enable the service. - # Corresponds to the JSON property `inboundServices` - # @return [Array<String>] - attr_accessor :inbound_services + # Metadata for the given google.longrunning.Operation. + class OperationMetadataV1 + include Google::Apis::Core::Hashable - # Instance class that is used to run this version. Valid values are: - # AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1, B2, B4, - # B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or - # BasicScaling. - # Corresponds to the JSON property `instanceClass` + # API method that initiated this operation. Example: google.appengine.v1. + # Versions.CreateVersion.@OutputOnly + # Corresponds to the JSON property `method` # @return [String] - attr_accessor :instance_class + attr_accessor :method_prop - # Extra network settings. Only applicable for VM runtimes. - # Corresponds to the JSON property `network` - # @return [Google::Apis::AppengineV1::Network] - attr_accessor :network + # Time that this operation completed.@OutputOnly + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time - # Machine resources for a version. - # Corresponds to the JSON property `resources` - # @return [Google::Apis::AppengineV1::Resources] - attr_accessor :resources - - # Desired runtime. Example: python27. - # Corresponds to the JSON property `runtime` + # Time that this operation was created.@OutputOnly + # Corresponds to the JSON property `insertTime` # @return [String] - attr_accessor :runtime + attr_accessor :insert_time - # Whether multiple requests can be dispatched to this version at once. - # Corresponds to the JSON property `threadsafe` - # @return [Boolean] - attr_accessor :threadsafe - alias_method :threadsafe?, :threadsafe + # Durable messages that persist on every operation poll. @OutputOnly + # Corresponds to the JSON property `warning` + # @return [Array<String>] + attr_accessor :warning - # Whether to deploy this version in a container on a virtual machine. - # Corresponds to the JSON property `vm` - # @return [Boolean] - attr_accessor :vm - alias_method :vm?, :vm + # Name of the resource that this operation is acting on. Example: apps/myapp/ + # services/default.@OutputOnly + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target - # Metadata settings that are supplied to this version to enable beta runtime - # features. - # Corresponds to the JSON property `betaSettings` - # @return [Hash<String,String>] - attr_accessor :beta_settings + # User who requested this operation.@OutputOnly + # Corresponds to the JSON property `user` + # @return [String] + attr_accessor :user - # App Engine execution environment for this version.Defaults to standard. - # Corresponds to the JSON property `env` + # Ephemeral message that may change every time the operation is polled. @ + # OutputOnly + # Corresponds to the JSON property `ephemeralMessage` # @return [String] - attr_accessor :env + attr_accessor :ephemeral_message - # Current serving status of this version. Only the versions with a SERVING - # status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an - # invalid value. Defaults to SERVING. - # Corresponds to the JSON property `servingStatus` + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @method_prop = args[:method_prop] if args.key?(:method_prop) + @end_time = args[:end_time] if args.key?(:end_time) + @insert_time = args[:insert_time] if args.key?(:insert_time) + @warning = args[:warning] if args.key?(:warning) + @target = args[:target] if args.key?(:target) + @user = args[:user] if args.key?(:user) + @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message) + end + end + + # Extra network settings. Only applicable for VM runtimes. + class Network + include Google::Apis::Core::Hashable + + # List of ports, or port pairs, to forward from the virtual machine to the + # application container. + # Corresponds to the JSON property `forwardedPorts` + # @return [Array<String>] + attr_accessor :forwarded_ports + + # Tag to apply to the VM instance during creation. + # Corresponds to the JSON property `instanceTag` # @return [String] - attr_accessor :serving_status + attr_accessor :instance_tag - # Email address of the user who created this version.@OutputOnly - # Corresponds to the JSON property `createdBy` + # Google Cloud Platform sub-network where the virtual machines are created. + # Specify the short name, not the resource path.If a subnetwork name is + # specified, a network name will also be required unless it is for the default + # network. + # If the network the VM instance is being created in is a Legacy network, then + # the IP address is allocated from the IPv4Range. + # If the network the VM instance is being created in is an auto Subnet Mode + # Network, then only network name should be specified (not the subnetwork_name) + # and the IP address is created from the IPCidrRange of the subnetwork that + # exists in that zone for that network. + # If the network the VM instance is being created in is a custom Subnet Mode + # Network, then the subnetwork_name must be specified and the IP address is + # created from the IPCidrRange of the subnetwork.If specified, the subnetwork + # must exist in the same region as the Flex app. + # Corresponds to the JSON property `subnetworkName` # @return [String] - attr_accessor :created_by + attr_accessor :subnetwork_name - # Time that this version was created.@OutputOnly - # Corresponds to the JSON property `createTime` + # Google Cloud Platform network where the virtual machines are created. Specify + # the short name, not the resource path.Defaults to default. + # Corresponds to the JSON property `name` # @return [String] - attr_accessor :create_time + attr_accessor :name - # Total size in bytes of all the files that are included in this version and - # curerntly hosted on the App Engine disk.@OutputOnly - # Corresponds to the JSON property `diskUsageBytes` - # @return [Fixnum] - attr_accessor :disk_usage_bytes + def initialize(**args) + update!(**args) + end - # An ordered list of URL-matching patterns that should be applied to incoming - # requests. The first matching URL handles the request and other request - # handlers are not attempted.Only returned in GET requests if view=FULL is set. - # Corresponds to the JSON property `handlers` - # @return [Array<Google::Apis::AppengineV1::UrlMap>] - attr_accessor :handlers + # Update properties of this object + def update!(**args) + @forwarded_ports = args[:forwarded_ports] if args.key?(:forwarded_ports) + @instance_tag = args[:instance_tag] if args.key?(:instance_tag) + @subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name) + @name = args[:name] if args.key?(:name) + end + end - # Custom static error pages. Limited to 10KB per page.Only returned in GET - # requests if view=FULL is set. - # Corresponds to the JSON property `errorHandlers` - # @return [Array<Google::Apis::AppengineV1::ErrorHandler>] - attr_accessor :error_handlers + # An Application resource contains the top-level configuration of an App Engine + # application. + class Application + include Google::Apis::Core::Hashable - # Configuration for third-party Python runtime libraries that are required by - # the application.Only returned in GET requests if view=FULL is set. - # Corresponds to the JSON property `libraries` - # @return [Array<Google::Apis::AppengineV1::Library>] - attr_accessor :libraries + # The Google Container Registry domain used for storing managed build docker + # images for this application. + # Corresponds to the JSON property `gcrDomain` + # @return [String] + attr_accessor :gcr_domain - # Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/ - # endpoints/) configuration for API handlers. - # Corresponds to the JSON property `apiConfig` - # @return [Google::Apis::AppengineV1::ApiConfigHandler] - attr_accessor :api_config + # Full path to the Application resource in the API. Example: apps/myapp.@ + # OutputOnly + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name - # Environment variables available to the application.Only returned in GET - # requests if view=FULL is set. - # Corresponds to the JSON property `envVariables` - # @return [Hash<String,String>] - attr_accessor :env_variables + # Identifier of the Application resource. This identifier is equivalent to the + # project ID of the Google Cloud Platform project where you want to deploy your + # application. Example: myapp. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id - # Duration that static files should be cached by web proxies and browsers. Only - # applicable if the corresponding StaticFilesHandler (https://cloud.google.com/ - # appengine/docs/admin-api/reference/rest/v1/apps.services.versions# - # staticfileshandler) does not specify its own expiration time.Only returned in - # GET requests if view=FULL is set. - # Corresponds to the JSON property `defaultExpiration` + # Cookie expiration policy for this application. + # Corresponds to the JSON property `defaultCookieExpiration` # @return [String] - attr_accessor :default_expiration + attr_accessor :default_cookie_expiration - # Health checking configuration for VM instances. Unhealthy instances are killed - # and replaced with new instances. Only applicable for instances in App Engine - # flexible environment. - # Corresponds to the JSON property `healthCheck` - # @return [Google::Apis::AppengineV1::HealthCheck] - attr_accessor :health_check + # Location from which this application will be run. Application instances will + # run out of data centers in the chosen location, which is also where all of the + # application's end user content is stored.Defaults to us-central.Options are:us- + # central - Central USeurope-west - Western Europeus-east1 - Eastern US + # Corresponds to the JSON property `locationId` + # @return [String] + attr_accessor :location_id - # Readiness checking configuration for VM instances. Unhealthy instances are - # removed from traffic rotation. - # Corresponds to the JSON property `readinessCheck` - # @return [Google::Apis::AppengineV1::ReadinessCheck] - attr_accessor :readiness_check + # Serving status of this application. + # Corresponds to the JSON property `servingStatus` + # @return [String] + attr_accessor :serving_status - # Health checking configuration for VM instances. Unhealthy instances are killed - # and replaced with new instances. - # Corresponds to the JSON property `livenessCheck` - # @return [Google::Apis::AppengineV1::LivenessCheck] - attr_accessor :liveness_check + # Hostname used to reach this application, as resolved by App Engine.@OutputOnly + # Corresponds to the JSON property `defaultHostname` + # @return [String] + attr_accessor :default_hostname - # Files that match this pattern will not be built into this version. Only - # applicable for Go runtimes.Only returned in GET requests if view=FULL is set. - # Corresponds to the JSON property `nobuildFilesRegex` + # Identity-Aware Proxy + # Corresponds to the JSON property `iap` + # @return [Google::Apis::AppengineV1::IdentityAwareProxy] + attr_accessor :iap + + # Google Apps authentication domain that controls which users can access this + # application.Defaults to open access for any Google Account. + # Corresponds to the JSON property `authDomain` # @return [String] - attr_accessor :nobuild_files_regex + attr_accessor :auth_domain - # Code and application artifacts used to deploy a version to App Engine. - # Corresponds to the JSON property `deployment` - # @return [Google::Apis::AppengineV1::Deployment] - attr_accessor :deployment + # Google Cloud Storage bucket that can be used for storing files associated with + # this application. This bucket is associated with the application and can be + # used by the gcloud deployment commands.@OutputOnly + # Corresponds to the JSON property `codeBucket` + # @return [String] + attr_accessor :code_bucket - # Serving URL for this version. Example: "https://myversion-dot-myservice-dot- - # myapp.appspot.com"@OutputOnly - # Corresponds to the JSON property `versionUrl` + # Google Cloud Storage bucket that can be used by this application to store + # content.@OutputOnly + # Corresponds to the JSON property `defaultBucket` # @return [String] - attr_accessor :version_url + attr_accessor :default_bucket - # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The - # Endpoints API Service provides tooling for serving Open API and gRPC endpoints - # via an NGINX proxy.The fields here refer to the name and configuration id of a - # "service" resource in the Service Management API (https://cloud.google.com/ - # service-management/overview). - # Corresponds to the JSON property `endpointsApiService` - # @return [Google::Apis::AppengineV1::EndpointsApiService] - attr_accessor :endpoints_api_service + # HTTP path dispatch rules for requests to the application that do not + # explicitly target a service or version. Rules are order-dependent. Up to 20 + # dispatch rules can be supported.@OutputOnly + # Corresponds to the JSON property `dispatchRules` + # @return [Array<Google::Apis::AppengineV1::UrlDispatchRule>] + attr_accessor :dispatch_rules def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @gcr_domain = args[:gcr_domain] if args.key?(:gcr_domain) @name = args[:name] if args.key?(:name) @id = args[:id] if args.key?(:id) - @automatic_scaling = args[:automatic_scaling] if args.key?(:automatic_scaling) - @basic_scaling = args[:basic_scaling] if args.key?(:basic_scaling) - @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling) - @inbound_services = args[:inbound_services] if args.key?(:inbound_services) - @instance_class = args[:instance_class] if args.key?(:instance_class) - @network = args[:network] if args.key?(:network) - @resources = args[:resources] if args.key?(:resources) - @runtime = args[:runtime] if args.key?(:runtime) - @threadsafe = args[:threadsafe] if args.key?(:threadsafe) - @vm = args[:vm] if args.key?(:vm) - @beta_settings = args[:beta_settings] if args.key?(:beta_settings) - @env = args[:env] if args.key?(:env) + @default_cookie_expiration = args[:default_cookie_expiration] if args.key?(:default_cookie_expiration) + @location_id = args[:location_id] if args.key?(:location_id) @serving_status = args[:serving_status] if args.key?(:serving_status) - @created_by = args[:created_by] if args.key?(:created_by) - @create_time = args[:create_time] if args.key?(:create_time) - @disk_usage_bytes = args[:disk_usage_bytes] if args.key?(:disk_usage_bytes) - @handlers = args[:handlers] if args.key?(:handlers) - @error_handlers = args[:error_handlers] if args.key?(:error_handlers) - @libraries = args[:libraries] if args.key?(:libraries) - @api_config = args[:api_config] if args.key?(:api_config) - @env_variables = args[:env_variables] if args.key?(:env_variables) - @default_expiration = args[:default_expiration] if args.key?(:default_expiration) - @health_check = args[:health_check] if args.key?(:health_check) - @readiness_check = args[:readiness_check] if args.key?(:readiness_check) - @liveness_check = args[:liveness_check] if args.key?(:liveness_check) - @nobuild_files_regex = args[:nobuild_files_regex] if args.key?(:nobuild_files_regex) - @deployment = args[:deployment] if args.key?(:deployment) - @version_url = args[:version_url] if args.key?(:version_url) - @endpoints_api_service = args[:endpoints_api_service] if args.key?(:endpoints_api_service) + @default_hostname = args[:default_hostname] if args.key?(:default_hostname) + @iap = args[:iap] if args.key?(:iap) + @auth_domain = args[:auth_domain] if args.key?(:auth_domain) + @code_bucket = args[:code_bucket] if args.key?(:code_bucket) + @default_bucket = args[:default_bucket] if args.key?(:default_bucket) + @dispatch_rules = args[:dispatch_rules] if args.key?(:dispatch_rules) end end - # Automatic scaling is based on request rate, response latencies, and other - # application metrics. - class AutomaticScaling + # An Instance resource is the computing unit that App Engine uses to + # automatically scale an application. + class Instance include Google::Apis::Core::Hashable - # Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/ - # autoscaler/) should wait between changes to the number of virtual machines. - # Only applicable for VM runtimes. - # Corresponds to the JSON property `coolDownPeriod` + # Name of the virtual machine where this instance lives. Only applicable for + # instances in App Engine flexible environment.@OutputOnly + # Corresponds to the JSON property `vmName` # @return [String] - attr_accessor :cool_down_period + attr_accessor :vm_name - # Target scaling by CPU usage. - # Corresponds to the JSON property `cpuUtilization` - # @return [Google::Apis::AppengineV1::CpuUtilization] - attr_accessor :cpu_utilization + # Virtual machine ID of this instance. Only applicable for instances in App + # Engine flexible environment.@OutputOnly + # Corresponds to the JSON property `vmId` + # @return [String] + attr_accessor :vm_id - # Number of concurrent requests an automatic scaling instance can accept before - # the scheduler spawns a new instance.Defaults to a runtime-specific value. - # Corresponds to the JSON property `maxConcurrentRequests` - # @return [Fixnum] - attr_accessor :max_concurrent_requests + # Average queries per second (QPS) over the last minute.@OutputOnly + # Corresponds to the JSON property `qps` + # @return [Float] + attr_accessor :qps - # Maximum number of idle instances that should be maintained for this version. - # Corresponds to the JSON property `maxIdleInstances` - # @return [Fixnum] - attr_accessor :max_idle_instances + # Zone where the virtual machine is located. Only applicable for instances in + # App Engine flexible environment.@OutputOnly + # Corresponds to the JSON property `vmZoneName` + # @return [String] + attr_accessor :vm_zone_name - # Maximum number of instances that should be started to handle requests. - # Corresponds to the JSON property `maxTotalInstances` + # Full path to the Instance resource in the API. Example: apps/myapp/services/ + # default/versions/v1/instances/instance-1.@OutputOnly + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Average latency (ms) over the last minute.@OutputOnly + # Corresponds to the JSON property `averageLatency` # @return [Fixnum] - attr_accessor :max_total_instances + attr_accessor :average_latency - # Maximum amount of time that a request should wait in the pending queue before - # starting a new instance to handle it. - # Corresponds to the JSON property `maxPendingLatency` + # The IP address of this instance. Only applicable for instances in App Engine + # flexible environment.@OutputOnly + # Corresponds to the JSON property `vmIp` # @return [String] - attr_accessor :max_pending_latency + attr_accessor :vm_ip - # Minimum number of idle instances that should be maintained for this version. - # Only applicable for the default version of a service. - # Corresponds to the JSON property `minIdleInstances` + # Relative name of the instance within the version. Example: instance-1.@ + # OutputOnly + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Total memory in use (bytes).@OutputOnly + # Corresponds to the JSON property `memoryUsage` # @return [Fixnum] - attr_accessor :min_idle_instances + attr_accessor :memory_usage - # Minimum number of instances that should be maintained for this version. - # Corresponds to the JSON property `minTotalInstances` + # Status of the virtual machine where this instance lives. Only applicable for + # instances in App Engine flexible environment.@OutputOnly + # Corresponds to the JSON property `vmStatus` + # @return [String] + attr_accessor :vm_status + + # Availability of the instance.@OutputOnly + # Corresponds to the JSON property `availability` + # @return [String] + attr_accessor :availability + + # Number of errors since this instance was started.@OutputOnly + # Corresponds to the JSON property `errors` # @return [Fixnum] - attr_accessor :min_total_instances + attr_accessor :errors - # Minimum amount of time a request should wait in the pending queue before - # starting a new instance to handle it. - # Corresponds to the JSON property `minPendingLatency` + # Time that this instance was started.@OutputOnly + # Corresponds to the JSON property `startTime` # @return [String] - attr_accessor :min_pending_latency + attr_accessor :start_time - # Target scaling by request utilization. Only applicable for VM runtimes. - # Corresponds to the JSON property `requestUtilization` - # @return [Google::Apis::AppengineV1::RequestUtilization] - attr_accessor :request_utilization + # Whether this instance is in debug mode. Only applicable for instances in App + # Engine flexible environment.@OutputOnly + # Corresponds to the JSON property `vmDebugEnabled` + # @return [Boolean] + attr_accessor :vm_debug_enabled + alias_method :vm_debug_enabled?, :vm_debug_enabled - # Target scaling by disk usage. Only applicable for VM runtimes. - # Corresponds to the JSON property `diskUtilization` - # @return [Google::Apis::AppengineV1::DiskUtilization] - attr_accessor :disk_utilization + # Number of requests since this instance was started.@OutputOnly + # Corresponds to the JSON property `requests` + # @return [Fixnum] + attr_accessor :requests - # Target scaling by network usage. Only applicable for VM runtimes. - # Corresponds to the JSON property `networkUtilization` - # @return [Google::Apis::AppengineV1::NetworkUtilization] - attr_accessor :network_utilization + # App Engine release this instance is running on.@OutputOnly + # Corresponds to the JSON property `appEngineRelease` + # @return [String] + attr_accessor :app_engine_release def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @cool_down_period = args[:cool_down_period] if args.key?(:cool_down_period) - @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization) - @max_concurrent_requests = args[:max_concurrent_requests] if args.key?(:max_concurrent_requests) - @max_idle_instances = args[:max_idle_instances] if args.key?(:max_idle_instances) - @max_total_instances = args[:max_total_instances] if args.key?(:max_total_instances) - @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency) - @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances) - @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances) - @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency) - @request_utilization = args[:request_utilization] if args.key?(:request_utilization) - @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization) - @network_utilization = args[:network_utilization] if args.key?(:network_utilization) + @vm_name = args[:vm_name] if args.key?(:vm_name) + @vm_id = args[:vm_id] if args.key?(:vm_id) + @qps = args[:qps] if args.key?(:qps) + @vm_zone_name = args[:vm_zone_name] if args.key?(:vm_zone_name) + @name = args[:name] if args.key?(:name) + @average_latency = args[:average_latency] if args.key?(:average_latency) + @vm_ip = args[:vm_ip] if args.key?(:vm_ip) + @id = args[:id] if args.key?(:id) + @memory_usage = args[:memory_usage] if args.key?(:memory_usage) + @vm_status = args[:vm_status] if args.key?(:vm_status) + @availability = args[:availability] if args.key?(:availability) + @errors = args[:errors] if args.key?(:errors) + @start_time = args[:start_time] if args.key?(:start_time) + @vm_debug_enabled = args[:vm_debug_enabled] if args.key?(:vm_debug_enabled) + @requests = args[:requests] if args.key?(:requests) + @app_engine_release = args[:app_engine_release] if args.key?(:app_engine_release) end end - # Target scaling by CPU usage. - class CpuUtilization + # Health checking configuration for VM instances. Unhealthy instances are killed + # and replaced with new instances. + class LivenessCheck include Google::Apis::Core::Hashable - # Period of time over which CPU utilization is calculated. - # Corresponds to the JSON property `aggregationWindowLength` + # The initial delay before starting to execute the checks. + # Corresponds to the JSON property `initialDelay` # @return [String] - attr_accessor :aggregation_window_length + attr_accessor :initial_delay - # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1. - # Corresponds to the JSON property `targetUtilization` - # @return [Float] - attr_accessor :target_utilization + # The request path. + # Corresponds to the JSON property `path` + # @return [String] + attr_accessor :path - def initialize(**args) - update!(**args) - end + # Host header to send when performing a HTTP Liveness check. Example: "myapp. + # appspot.com" + # Corresponds to the JSON property `host` + # @return [String] + attr_accessor :host - # Update properties of this object - def update!(**args) - @aggregation_window_length = args[:aggregation_window_length] if args.key?(:aggregation_window_length) - @target_utilization = args[:target_utilization] if args.key?(:target_utilization) - end - end + # Number of consecutive successful checks required before considering the VM + # healthy. + # Corresponds to the JSON property `successThreshold` + # @return [Fixnum] + attr_accessor :success_threshold - # Target scaling by request utilization. Only applicable for VM runtimes. - class RequestUtilization - include Google::Apis::Core::Hashable + # Interval between health checks. + # Corresponds to the JSON property `checkInterval` + # @return [String] + attr_accessor :check_interval - # Target requests per second. - # Corresponds to the JSON property `targetRequestCountPerSecond` + # Number of consecutive failed checks required before considering the VM + # unhealthy. + # Corresponds to the JSON property `failureThreshold` # @return [Fixnum] - attr_accessor :target_request_count_per_second + attr_accessor :failure_threshold - # Target number of concurrent requests. - # Corresponds to the JSON property `targetConcurrentRequests` - # @return [Fixnum] - attr_accessor :target_concurrent_requests + # Time before the check is considered failed. + # Corresponds to the JSON property `timeout` + # @return [String] + attr_accessor :timeout def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @target_request_count_per_second = args[:target_request_count_per_second] if args.key?(:target_request_count_per_second) - @target_concurrent_requests = args[:target_concurrent_requests] if args.key?(:target_concurrent_requests) + @initial_delay = args[:initial_delay] if args.key?(:initial_delay) + @path = args[:path] if args.key?(:path) + @host = args[:host] if args.key?(:host) + @success_threshold = args[:success_threshold] if args.key?(:success_threshold) + @check_interval = args[:check_interval] if args.key?(:check_interval) + @failure_threshold = args[:failure_threshold] if args.key?(:failure_threshold) + @timeout = args[:timeout] if args.key?(:timeout) end end - # Target scaling by disk usage. Only applicable for VM runtimes. - class DiskUtilization + # A resource that represents Google Cloud Platform location. + class Location include Google::Apis::Core::Hashable - # Target bytes written per second. - # Corresponds to the JSON property `targetWriteBytesPerSecond` - # @return [Fixnum] - attr_accessor :target_write_bytes_per_second + # Resource name for the location, which may vary between implementations. For + # example: "projects/example-project/locations/us-east1" + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name - # Target ops written per second. - # Corresponds to the JSON property `targetWriteOpsPerSecond` - # @return [Fixnum] - attr_accessor :target_write_ops_per_second + # The canonical id for this location. For example: "us-east1". + # Corresponds to the JSON property `locationId` + # @return [String] + attr_accessor :location_id - # Target bytes read per second. - # Corresponds to the JSON property `targetReadBytesPerSecond` - # @return [Fixnum] - attr_accessor :target_read_bytes_per_second + # Service-specific metadata. For example the available capacity at the given + # location. + # Corresponds to the JSON property `metadata` + # @return [Hash<String,Object>] + attr_accessor :metadata - # Target ops read per seconds. - # Corresponds to the JSON property `targetReadOpsPerSecond` - # @return [Fixnum] - attr_accessor :target_read_ops_per_second + # Cross-service attributes for the location. For example + # `"cloud.googleapis.com/region": "us-east1"` + # Corresponds to the JSON property `labels` + # @return [Hash<String,String>] + attr_accessor :labels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @target_write_bytes_per_second = args[:target_write_bytes_per_second] if args.key?(:target_write_bytes_per_second) - @target_write_ops_per_second = args[:target_write_ops_per_second] if args.key?(:target_write_ops_per_second) - @target_read_bytes_per_second = args[:target_read_bytes_per_second] if args.key?(:target_read_bytes_per_second) - @target_read_ops_per_second = args[:target_read_ops_per_second] if args.key?(:target_read_ops_per_second) + @name = args[:name] if args.key?(:name) + @location_id = args[:location_id] if args.key?(:location_id) + @metadata = args[:metadata] if args.key?(:metadata) + @labels = args[:labels] if args.key?(:labels) end end # Target scaling by network usage. Only applicable for VM runtimes. class NetworkUtilization @@ -962,337 +947,443 @@ @target_received_bytes_per_second = args[:target_received_bytes_per_second] if args.key?(:target_received_bytes_per_second) @target_received_packets_per_second = args[:target_received_packets_per_second] if args.key?(:target_received_packets_per_second) end end - # A service with basic scaling will create an instance when the application - # receives a request. The instance will be turned down when the app becomes idle. - # Basic scaling is ideal for work that is intermittent or driven by user - # activity. - class BasicScaling + # Health checking configuration for VM instances. Unhealthy instances are killed + # and replaced with new instances. Only applicable for instances in App Engine + # flexible environment. + class HealthCheck include Google::Apis::Core::Hashable - # Duration of time after the last request that an instance must wait before the - # instance is shut down. - # Corresponds to the JSON property `idleTimeout` - # @return [String] - attr_accessor :idle_timeout - - # Maximum number of instances to create for this version. - # Corresponds to the JSON property `maxInstances` + # Number of consecutive failed health checks required before removing traffic. + # Corresponds to the JSON property `unhealthyThreshold` # @return [Fixnum] - attr_accessor :max_instances + attr_accessor :unhealthy_threshold - def initialize(**args) - update!(**args) - end + # Whether to explicitly disable health checks for this instance. + # Corresponds to the JSON property `disableHealthCheck` + # @return [Boolean] + attr_accessor :disable_health_check + alias_method :disable_health_check?, :disable_health_check - # Update properties of this object - def update!(**args) - @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout) - @max_instances = args[:max_instances] if args.key?(:max_instances) - end - end + # Host header to send when performing an HTTP health check. Example: "myapp. + # appspot.com" + # Corresponds to the JSON property `host` + # @return [String] + attr_accessor :host - # A service with manual scaling runs continuously, allowing you to perform - # complex initialization and rely on the state of its memory over time. - class ManualScaling - include Google::Apis::Core::Hashable + # Number of consecutive failed health checks required before an instance is + # restarted. + # Corresponds to the JSON property `restartThreshold` + # @return [Fixnum] + attr_accessor :restart_threshold - # Number of instances to assign to the service at the start. This number can - # later be altered by using the Modules API (https://cloud.google.com/appengine/ - # docs/python/modules/functions) set_num_instances() function. - # Corresponds to the JSON property `instances` + # Number of consecutive successful health checks required before receiving + # traffic. + # Corresponds to the JSON property `healthyThreshold` # @return [Fixnum] - attr_accessor :instances + attr_accessor :healthy_threshold + # Interval between health checks. + # Corresponds to the JSON property `checkInterval` + # @return [String] + attr_accessor :check_interval + + # Time before the health check is considered failed. + # Corresponds to the JSON property `timeout` + # @return [String] + attr_accessor :timeout + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @instances = args[:instances] if args.key?(:instances) + @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold) + @disable_health_check = args[:disable_health_check] if args.key?(:disable_health_check) + @host = args[:host] if args.key?(:host) + @restart_threshold = args[:restart_threshold] if args.key?(:restart_threshold) + @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold) + @check_interval = args[:check_interval] if args.key?(:check_interval) + @timeout = args[:timeout] if args.key?(:timeout) end end - # Extra network settings. Only applicable for VM runtimes. - class Network + # Readiness checking configuration for VM instances. Unhealthy instances are + # removed from traffic rotation. + class ReadinessCheck include Google::Apis::Core::Hashable - # List of ports, or port pairs, to forward from the virtual machine to the - # application container. - # Corresponds to the JSON property `forwardedPorts` - # @return [Array<String>] - attr_accessor :forwarded_ports + # Interval between health checks. + # Corresponds to the JSON property `checkInterval` + # @return [String] + attr_accessor :check_interval - # Tag to apply to the VM instance during creation. - # Corresponds to the JSON property `instanceTag` + # Time before the check is considered failed. + # Corresponds to the JSON property `timeout` # @return [String] - attr_accessor :instance_tag + attr_accessor :timeout - # Google Cloud Platform network where the virtual machines are created. Specify - # the short name, not the resource path.Defaults to default. - # Corresponds to the JSON property `name` + # Number of consecutive failed checks required before removing traffic. + # Corresponds to the JSON property `failureThreshold` + # @return [Fixnum] + attr_accessor :failure_threshold + + # The request path. + # Corresponds to the JSON property `path` # @return [String] - attr_accessor :name + attr_accessor :path - # Google Cloud Platform sub-network where the virtual machines are created. - # Specify the short name, not the resource path.If a subnetwork name is - # specified, a network name will also be required unless it is for the default - # network. If the network the VM instance is being created in is a Legacy - # network, then the IP address is allocated from the IPv4Range. If the network - # the VM instance is being created in is an auto Subnet Mode Network, then only - # network name should be specified (not the subnetwork_name) and the IP address - # is created from the IPCidrRange of the subnetwork that exists in that zone for - # that network. If the network the VM instance is being created in is a custom - # Subnet Mode Network, then the subnetwork_name must be specified and the IP - # address is created from the IPCidrRange of the subnetwork.If specified, the - # subnetwork must exist in the same region as the Flex app. - # Corresponds to the JSON property `subnetworkName` + # Host header to send when performing a HTTP Readiness check. Example: "myapp. + # appspot.com" + # Corresponds to the JSON property `host` # @return [String] - attr_accessor :subnetwork_name + attr_accessor :host + # Number of consecutive successful checks required before receiving traffic. + # Corresponds to the JSON property `successThreshold` + # @return [Fixnum] + attr_accessor :success_threshold + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @forwarded_ports = args[:forwarded_ports] if args.key?(:forwarded_ports) - @instance_tag = args[:instance_tag] if args.key?(:instance_tag) - @name = args[:name] if args.key?(:name) - @subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name) + @check_interval = args[:check_interval] if args.key?(:check_interval) + @timeout = args[:timeout] if args.key?(:timeout) + @failure_threshold = args[:failure_threshold] if args.key?(:failure_threshold) + @path = args[:path] if args.key?(:path) + @host = args[:host] if args.key?(:host) + @success_threshold = args[:success_threshold] if args.key?(:success_threshold) end end - # Machine resources for a version. - class Resources + # Request message for Instances.DebugInstance. + class DebugInstanceRequest include Google::Apis::Core::Hashable - # Number of CPU cores needed. - # Corresponds to the JSON property `cpu` - # @return [Float] - attr_accessor :cpu + # Public SSH key to add to the instance. Examples: + # [USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME] + # [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh `"userName":"[USERNAME]","expireOn":" + # [EXPIRE_TIME]"`For more information, see Adding and Removing SSH Keys (https:// + # cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + # Corresponds to the JSON property `sshKey` + # @return [String] + attr_accessor :ssh_key - # Disk size (GB) needed. - # Corresponds to the JSON property `diskGb` - # @return [Float] - attr_accessor :disk_gb - - # Memory (GB) needed. - # Corresponds to the JSON property `memoryGb` - # @return [Float] - attr_accessor :memory_gb - - # User specified volumes. - # Corresponds to the JSON property `volumes` - # @return [Array<Google::Apis::AppengineV1::Volume>] - attr_accessor :volumes - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @cpu = args[:cpu] if args.key?(:cpu) - @disk_gb = args[:disk_gb] if args.key?(:disk_gb) - @memory_gb = args[:memory_gb] if args.key?(:memory_gb) - @volumes = args[:volumes] if args.key?(:volumes) + @ssh_key = args[:ssh_key] if args.key?(:ssh_key) end end - # Volumes mounted within the app container. Only applicable for VM runtimes. - class Volume + # Metadata for the given google.longrunning.Operation. + class OperationMetadataV1Beta5 include Google::Apis::Core::Hashable - # Unique name for the volume. - # Corresponds to the JSON property `name` + # API method name that initiated this operation. Example: google.appengine. + # v1beta5.Version.CreateVersion.@OutputOnly + # Corresponds to the JSON property `method` # @return [String] - attr_accessor :name + attr_accessor :method_prop - # Underlying volume type, e.g. 'tmpfs'. - # Corresponds to the JSON property `volumeType` + # Timestamp that this operation was created.@OutputOnly + # Corresponds to the JSON property `insertTime` # @return [String] - attr_accessor :volume_type + attr_accessor :insert_time - # Volume size in gigabytes. - # Corresponds to the JSON property `sizeGb` - # @return [Float] - attr_accessor :size_gb + # Timestamp that this operation completed.@OutputOnly + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + # User who requested this operation.@OutputOnly + # Corresponds to the JSON property `user` + # @return [String] + attr_accessor :user + + # Name of the resource that this operation is acting on. Example: apps/myapp/ + # services/default.@OutputOnly + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @name = args[:name] if args.key?(:name) - @volume_type = args[:volume_type] if args.key?(:volume_type) - @size_gb = args[:size_gb] if args.key?(:size_gb) + @method_prop = args[:method_prop] if args.key?(:method_prop) + @insert_time = args[:insert_time] if args.key?(:insert_time) + @end_time = args[:end_time] if args.key?(:end_time) + @user = args[:user] if args.key?(:user) + @target = args[:target] if args.key?(:target) end end - # URL pattern and description of how the URL should be handled. App Engine can - # handle URLs by executing application code or by serving static files uploaded - # with the version, such as images, CSS, or JavaScript. - class UrlMap + # A Version resource is a specific set of source code and configuration files + # that are deployed into a service. + class Version include Google::Apis::Core::Hashable - # URL prefix. Uses regular expression syntax, which means regexp special - # characters must be escaped, but should not contain groupings. All URLs that - # begin with this prefix are handled by this handler, using the portion of the - # URL after the prefix as part of the file path. - # Corresponds to the JSON property `urlRegex` - # @return [String] - attr_accessor :url_regex + # Automatic scaling is based on request rate, response latencies, and other + # application metrics. + # Corresponds to the JSON property `automaticScaling` + # @return [Google::Apis::AppengineV1::AutomaticScaling] + attr_accessor :automatic_scaling - # Files served directly to the user for a given URL, such as images, CSS - # stylesheets, or JavaScript source files. Static file handlers describe which - # files in the application directory are static files, and which URLs serve them. - # Corresponds to the JSON property `staticFiles` - # @return [Google::Apis::AppengineV1::StaticFilesHandler] - attr_accessor :static_files + # Total size in bytes of all the files that are included in this version and + # curerntly hosted on the App Engine disk.@OutputOnly + # Corresponds to the JSON property `diskUsageBytes` + # @return [Fixnum] + attr_accessor :disk_usage_bytes - # Executes a script to handle the request that matches the URL pattern. - # Corresponds to the JSON property `script` - # @return [Google::Apis::AppengineV1::ScriptHandler] - attr_accessor :script + # Health checking configuration for VM instances. Unhealthy instances are killed + # and replaced with new instances. Only applicable for instances in App Engine + # flexible environment. + # Corresponds to the JSON property `healthCheck` + # @return [Google::Apis::AppengineV1::HealthCheck] + attr_accessor :health_check - # Uses Google Cloud Endpoints to handle requests. - # Corresponds to the JSON property `apiEndpoint` - # @return [Google::Apis::AppengineV1::ApiEndpointHandler] - attr_accessor :api_endpoint + # Whether multiple requests can be dispatched to this version at once. + # Corresponds to the JSON property `threadsafe` + # @return [Boolean] + attr_accessor :threadsafe + alias_method :threadsafe?, :threadsafe - # Security (HTTPS) enforcement for this URL. - # Corresponds to the JSON property `securityLevel` + # Readiness checking configuration for VM instances. Unhealthy instances are + # removed from traffic rotation. + # Corresponds to the JSON property `readinessCheck` + # @return [Google::Apis::AppengineV1::ReadinessCheck] + attr_accessor :readiness_check + + # A service with manual scaling runs continuously, allowing you to perform + # complex initialization and rely on the state of its memory over time. + # Corresponds to the JSON property `manualScaling` + # @return [Google::Apis::AppengineV1::ManualScaling] + attr_accessor :manual_scaling + + # Full path to the Version resource in the API. Example: apps/myapp/services/ + # default/versions/v1.@OutputOnly + # Corresponds to the JSON property `name` # @return [String] - attr_accessor :security_level + attr_accessor :name - # Level of login required to access this resource. - # Corresponds to the JSON property `login` + # Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/ + # endpoints/) configuration for API handlers. + # Corresponds to the JSON property `apiConfig` + # @return [Google::Apis::AppengineV1::ApiConfigHandler] + attr_accessor :api_config + + # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The + # Endpoints API Service provides tooling for serving Open API and gRPC endpoints + # via an NGINX proxy.The fields here refer to the name and configuration id of a + # "service" resource in the Service Management API (https://cloud.google.com/ + # service-management/overview). + # Corresponds to the JSON property `endpointsApiService` + # @return [Google::Apis::AppengineV1::EndpointsApiService] + attr_accessor :endpoints_api_service + + # Serving URL for this version. Example: "https://myversion-dot-myservice-dot- + # myapp.appspot.com"@OutputOnly + # Corresponds to the JSON property `versionUrl` # @return [String] - attr_accessor :login + attr_accessor :version_url - # Action to take when users access resources that require authentication. - # Defaults to redirect. - # Corresponds to the JSON property `authFailAction` + # Whether to deploy this version in a container on a virtual machine. + # Corresponds to the JSON property `vm` + # @return [Boolean] + attr_accessor :vm + alias_method :vm?, :vm + + # Instance class that is used to run this version. Valid values are: + # AutomaticScaling: F1, F2, F4, F4_1G + # ManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for + # AutomaticScaling and B1 for ManualScaling or BasicScaling. + # Corresponds to the JSON property `instanceClass` # @return [String] - attr_accessor :auth_fail_action + attr_accessor :instance_class - # 30x code to use when performing redirects for the secure field. Defaults to - # 302. - # Corresponds to the JSON property `redirectHttpResponseCode` + # Current serving status of this version. Only the versions with a SERVING + # status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an + # invalid value. Defaults to SERVING. + # Corresponds to the JSON property `servingStatus` # @return [String] - attr_accessor :redirect_http_response_code + attr_accessor :serving_status - def initialize(**args) - update!(**args) - end + # Code and application artifacts used to deploy a version to App Engine. + # Corresponds to the JSON property `deployment` + # @return [Google::Apis::AppengineV1::Deployment] + attr_accessor :deployment - # Update properties of this object - def update!(**args) - @url_regex = args[:url_regex] if args.key?(:url_regex) - @static_files = args[:static_files] if args.key?(:static_files) - @script = args[:script] if args.key?(:script) - @api_endpoint = args[:api_endpoint] if args.key?(:api_endpoint) - @security_level = args[:security_level] if args.key?(:security_level) - @login = args[:login] if args.key?(:login) - @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action) - @redirect_http_response_code = args[:redirect_http_response_code] if args.key?(:redirect_http_response_code) - end - end + # Time that this version was created.@OutputOnly + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time - # Files served directly to the user for a given URL, such as images, CSS - # stylesheets, or JavaScript source files. Static file handlers describe which - # files in the application directory are static files, and which URLs serve them. - class StaticFilesHandler - include Google::Apis::Core::Hashable + # Before an application can receive email or XMPP messages, the application must + # be configured to enable the service. + # Corresponds to the JSON property `inboundServices` + # @return [Array<String>] + attr_accessor :inbound_services - # Path to the static files matched by the URL pattern, from the application root - # directory. The path can refer to text matched in groupings in the URL pattern. - # Corresponds to the JSON property `path` + # Machine resources for a version. + # Corresponds to the JSON property `resources` + # @return [Google::Apis::AppengineV1::Resources] + attr_accessor :resources + + # Custom static error pages. Limited to 10KB per page.Only returned in GET + # requests if view=FULL is set. + # Corresponds to the JSON property `errorHandlers` + # @return [Array<Google::Apis::AppengineV1::ErrorHandler>] + attr_accessor :error_handlers + + # Duration that static files should be cached by web proxies and browsers. Only + # applicable if the corresponding StaticFilesHandler (https://cloud.google.com/ + # appengine/docs/admin-api/reference/rest/v1/apps.services.versions# + # staticfileshandler) does not specify its own expiration time.Only returned in + # GET requests if view=FULL is set. + # Corresponds to the JSON property `defaultExpiration` # @return [String] - attr_accessor :path + attr_accessor :default_expiration - # Regular expression that matches the file paths for all files that should be - # referenced by this handler. - # Corresponds to the JSON property `uploadPathRegex` + # Configuration for third-party Python runtime libraries that are required by + # the application.Only returned in GET requests if view=FULL is set. + # Corresponds to the JSON property `libraries` + # @return [Array<Google::Apis::AppengineV1::Library>] + attr_accessor :libraries + + # Files that match this pattern will not be built into this version. Only + # applicable for Go runtimes.Only returned in GET requests if view=FULL is set. + # Corresponds to the JSON property `nobuildFilesRegex` # @return [String] - attr_accessor :upload_path_regex + attr_accessor :nobuild_files_regex - # HTTP headers to use for all responses from these URLs. - # Corresponds to the JSON property `httpHeaders` - # @return [Hash<String,String>] - attr_accessor :http_headers + # A service with basic scaling will create an instance when the application + # receives a request. The instance will be turned down when the app becomes idle. + # Basic scaling is ideal for work that is intermittent or driven by user + # activity. + # Corresponds to the JSON property `basicScaling` + # @return [Google::Apis::AppengineV1::BasicScaling] + attr_accessor :basic_scaling - # MIME type used to serve all files served by this handler.Defaults to file- - # specific MIME types, which are derived from each file's filename extension. - # Corresponds to the JSON property `mimeType` + # Desired runtime. Example: python27. + # Corresponds to the JSON property `runtime` # @return [String] - attr_accessor :mime_type + attr_accessor :runtime - # Time a static file served by this handler should be cached by web proxies and - # browsers. - # Corresponds to the JSON property `expiration` + # Relative name of the version within the service. Example: v1. Version names + # can contain only lowercase letters, numbers, or hyphens. Reserved names: " + # default", "latest", and any name with the prefix "ah-". + # Corresponds to the JSON property `id` # @return [String] - attr_accessor :expiration + attr_accessor :id - # Whether this handler should match the request if the file referenced by the - # handler does not exist. - # Corresponds to the JSON property `requireMatchingFile` - # @return [Boolean] - attr_accessor :require_matching_file - alias_method :require_matching_file?, :require_matching_file + # Email address of the user who created this version.@OutputOnly + # Corresponds to the JSON property `createdBy` + # @return [String] + attr_accessor :created_by - # Whether files should also be uploaded as code data. By default, files declared - # in static file handlers are uploaded as static data and are only served to end - # users; they cannot be read by the application. If enabled, uploads are charged - # against both your code and static data storage resource quotas. - # Corresponds to the JSON property `applicationReadable` - # @return [Boolean] - attr_accessor :application_readable - alias_method :application_readable?, :application_readable + # Environment variables available to the application.Only returned in GET + # requests if view=FULL is set. + # Corresponds to the JSON property `envVariables` + # @return [Hash<String,String>] + attr_accessor :env_variables + # Health checking configuration for VM instances. Unhealthy instances are killed + # and replaced with new instances. + # Corresponds to the JSON property `livenessCheck` + # @return [Google::Apis::AppengineV1::LivenessCheck] + attr_accessor :liveness_check + + # Extra network settings. Only applicable for VM runtimes. + # Corresponds to the JSON property `network` + # @return [Google::Apis::AppengineV1::Network] + attr_accessor :network + + # Metadata settings that are supplied to this version to enable beta runtime + # features. + # Corresponds to the JSON property `betaSettings` + # @return [Hash<String,String>] + attr_accessor :beta_settings + + # App Engine execution environment for this version.Defaults to standard. + # Corresponds to the JSON property `env` + # @return [String] + attr_accessor :env + + # An ordered list of URL-matching patterns that should be applied to incoming + # requests. The first matching URL handles the request and other request + # handlers are not attempted.Only returned in GET requests if view=FULL is set. + # Corresponds to the JSON property `handlers` + # @return [Array<Google::Apis::AppengineV1::UrlMap>] + attr_accessor :handlers + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @path = args[:path] if args.key?(:path) - @upload_path_regex = args[:upload_path_regex] if args.key?(:upload_path_regex) - @http_headers = args[:http_headers] if args.key?(:http_headers) - @mime_type = args[:mime_type] if args.key?(:mime_type) - @expiration = args[:expiration] if args.key?(:expiration) - @require_matching_file = args[:require_matching_file] if args.key?(:require_matching_file) - @application_readable = args[:application_readable] if args.key?(:application_readable) + @automatic_scaling = args[:automatic_scaling] if args.key?(:automatic_scaling) + @disk_usage_bytes = args[:disk_usage_bytes] if args.key?(:disk_usage_bytes) + @health_check = args[:health_check] if args.key?(:health_check) + @threadsafe = args[:threadsafe] if args.key?(:threadsafe) + @readiness_check = args[:readiness_check] if args.key?(:readiness_check) + @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling) + @name = args[:name] if args.key?(:name) + @api_config = args[:api_config] if args.key?(:api_config) + @endpoints_api_service = args[:endpoints_api_service] if args.key?(:endpoints_api_service) + @version_url = args[:version_url] if args.key?(:version_url) + @vm = args[:vm] if args.key?(:vm) + @instance_class = args[:instance_class] if args.key?(:instance_class) + @serving_status = args[:serving_status] if args.key?(:serving_status) + @deployment = args[:deployment] if args.key?(:deployment) + @create_time = args[:create_time] if args.key?(:create_time) + @inbound_services = args[:inbound_services] if args.key?(:inbound_services) + @resources = args[:resources] if args.key?(:resources) + @error_handlers = args[:error_handlers] if args.key?(:error_handlers) + @default_expiration = args[:default_expiration] if args.key?(:default_expiration) + @libraries = args[:libraries] if args.key?(:libraries) + @nobuild_files_regex = args[:nobuild_files_regex] if args.key?(:nobuild_files_regex) + @basic_scaling = args[:basic_scaling] if args.key?(:basic_scaling) + @runtime = args[:runtime] if args.key?(:runtime) + @id = args[:id] if args.key?(:id) + @created_by = args[:created_by] if args.key?(:created_by) + @env_variables = args[:env_variables] if args.key?(:env_variables) + @liveness_check = args[:liveness_check] if args.key?(:liveness_check) + @network = args[:network] if args.key?(:network) + @beta_settings = args[:beta_settings] if args.key?(:beta_settings) + @env = args[:env] if args.key?(:env) + @handlers = args[:handlers] if args.key?(:handlers) end end - # Executes a script to handle the request that matches the URL pattern. - class ScriptHandler + # Request message for 'Applications.RepairApplication'. + class RepairApplicationRequest include Google::Apis::Core::Hashable - # Path to the script from the application root directory. - # Corresponds to the JSON property `scriptPath` - # @return [String] - attr_accessor :script_path - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @script_path = args[:script_path] if args.key?(:script_path) end end - # Uses Google Cloud Endpoints to handle requests. - class ApiEndpointHandler + # Executes a script to handle the request that matches the URL pattern. + class ScriptHandler include Google::Apis::Core::Hashable # Path to the script from the application root directory. # Corresponds to the JSON property `scriptPath` # @return [String] @@ -1306,279 +1397,202 @@ def update!(**args) @script_path = args[:script_path] if args.key?(:script_path) end end - # Custom static error page to be served when an error occurs. - class ErrorHandler + # Single source file that is part of the version to be deployed. Each source + # file that is deployed must be specified separately. + class FileInfo include Google::Apis::Core::Hashable - # Error condition this handler applies to. - # Corresponds to the JSON property `errorCode` - # @return [String] - attr_accessor :error_code - - # Static file content to be served for this error. - # Corresponds to the JSON property `staticFile` - # @return [String] - attr_accessor :static_file - - # MIME type of file. Defaults to text/html. + # The MIME type of the file.Defaults to the value from Google Cloud Storage. # Corresponds to the JSON property `mimeType` # @return [String] attr_accessor :mime_type - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @error_code = args[:error_code] if args.key?(:error_code) - @static_file = args[:static_file] if args.key?(:static_file) - @mime_type = args[:mime_type] if args.key?(:mime_type) - end - end - - # Third-party Python runtime library that is required by the application. - class Library - include Google::Apis::Core::Hashable - - # Name of the library. Example: "django". - # Corresponds to the JSON property `name` + # URL source to use to fetch this file. Must be a URL to a resource in Google + # Cloud Storage in the form 'http(s)://storage.googleapis.com/<bucket>/<object>'. + # Corresponds to the JSON property `sourceUrl` # @return [String] - attr_accessor :name + attr_accessor :source_url - # Version of the library to select, or "latest". - # Corresponds to the JSON property `version` + # The SHA1 hash of the file, in hex. + # Corresponds to the JSON property `sha1Sum` # @return [String] - attr_accessor :version + attr_accessor :sha1_sum def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @name = args[:name] if args.key?(:name) - @version = args[:version] if args.key?(:version) + @mime_type = args[:mime_type] if args.key?(:mime_type) + @source_url = args[:source_url] if args.key?(:source_url) + @sha1_sum = args[:sha1_sum] if args.key?(:sha1_sum) end end - # Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/ - # endpoints/) configuration for API handlers. - class ApiConfigHandler + # Metadata for the given google.longrunning.Operation. + class OperationMetadataExperimental include Google::Apis::Core::Hashable - # Action to take when users access resources that require authentication. - # Defaults to redirect. - # Corresponds to the JSON property `authFailAction` + # User who requested this operation.@OutputOnly + # Corresponds to the JSON property `user` # @return [String] - attr_accessor :auth_fail_action + attr_accessor :user - # Level of login required to access this resource. Defaults to optional. - # Corresponds to the JSON property `login` + # Name of the resource that this operation is acting on. Example: apps/myapp/ + # customDomains/example.com.@OutputOnly + # Corresponds to the JSON property `target` # @return [String] - attr_accessor :login + attr_accessor :target - # Path to the script from the application root directory. - # Corresponds to the JSON property `script` + # API method that initiated this operation. Example: google.appengine. + # experimental.CustomDomains.CreateCustomDomain.@OutputOnly + # Corresponds to the JSON property `method` # @return [String] - attr_accessor :script + attr_accessor :method_prop - # Security (HTTPS) enforcement for this URL. - # Corresponds to the JSON property `securityLevel` + # Time that this operation was created.@OutputOnly + # Corresponds to the JSON property `insertTime` # @return [String] - attr_accessor :security_level + attr_accessor :insert_time - # URL to serve the endpoint at. - # Corresponds to the JSON property `url` + # Time that this operation completed.@OutputOnly + # Corresponds to the JSON property `endTime` # @return [String] - attr_accessor :url + attr_accessor :end_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action) - @login = args[:login] if args.key?(:login) - @script = args[:script] if args.key?(:script) - @security_level = args[:security_level] if args.key?(:security_level) - @url = args[:url] if args.key?(:url) + @user = args[:user] if args.key?(:user) + @target = args[:target] if args.key?(:target) + @method_prop = args[:method_prop] if args.key?(:method_prop) + @insert_time = args[:insert_time] if args.key?(:insert_time) + @end_time = args[:end_time] if args.key?(:end_time) end end - # Health checking configuration for VM instances. Unhealthy instances are killed - # and replaced with new instances. Only applicable for instances in App Engine - # flexible environment. - class HealthCheck + # Traffic routing configuration for versions within a single service. Traffic + # splits define how traffic directed to the service is assigned to versions. + class TrafficSplit include Google::Apis::Core::Hashable - # Whether to explicitly disable health checks for this instance. - # Corresponds to the JSON property `disableHealthCheck` - # @return [Boolean] - attr_accessor :disable_health_check - alias_method :disable_health_check?, :disable_health_check - - # Host header to send when performing an HTTP health check. Example: "myapp. - # appspot.com" - # Corresponds to the JSON property `host` + # Mechanism used to determine which version a request is sent to. The traffic + # selection algorithm will be stable for either type until allocations are + # changed. + # Corresponds to the JSON property `shardBy` # @return [String] - attr_accessor :host + attr_accessor :shard_by - # Number of consecutive successful health checks required before receiving - # traffic. - # Corresponds to the JSON property `healthyThreshold` - # @return [Fixnum] - attr_accessor :healthy_threshold + # Mapping from version IDs within the service to fractional (0.000, 1] + # allocations of traffic for that version. Each version can be specified only + # once, but some versions in the service may not have any traffic allocation. + # Services that have traffic allocated cannot be deleted until either the + # service is deleted or their traffic allocation is removed. Allocations must + # sum to 1. Up to two decimal place precision is supported for IP-based splits + # and up to three decimal places is supported for cookie-based splits. + # Corresponds to the JSON property `allocations` + # @return [Hash<String,Float>] + attr_accessor :allocations - # Number of consecutive failed health checks required before removing traffic. - # Corresponds to the JSON property `unhealthyThreshold` - # @return [Fixnum] - attr_accessor :unhealthy_threshold - - # Number of consecutive failed health checks required before an instance is - # restarted. - # Corresponds to the JSON property `restartThreshold` - # @return [Fixnum] - attr_accessor :restart_threshold - - # Interval between health checks. - # Corresponds to the JSON property `checkInterval` - # @return [String] - attr_accessor :check_interval - - # Time before the health check is considered failed. - # Corresponds to the JSON property `timeout` - # @return [String] - attr_accessor :timeout - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @disable_health_check = args[:disable_health_check] if args.key?(:disable_health_check) - @host = args[:host] if args.key?(:host) - @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold) - @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold) - @restart_threshold = args[:restart_threshold] if args.key?(:restart_threshold) - @check_interval = args[:check_interval] if args.key?(:check_interval) - @timeout = args[:timeout] if args.key?(:timeout) + @shard_by = args[:shard_by] if args.key?(:shard_by) + @allocations = args[:allocations] if args.key?(:allocations) end end - # Readiness checking configuration for VM instances. Unhealthy instances are - # removed from traffic rotation. - class ReadinessCheck + # Metadata for the given google.longrunning.Operation. + class OperationMetadataV1Beta include Google::Apis::Core::Hashable - # The request path. - # Corresponds to the JSON property `path` + # Ephemeral message that may change every time the operation is polled. @ + # OutputOnly + # Corresponds to the JSON property `ephemeralMessage` # @return [String] - attr_accessor :path + attr_accessor :ephemeral_message - # Host header to send when performing a HTTP Readiness check. Example: "myapp. - # appspot.com" - # Corresponds to the JSON property `host` + # API method that initiated this operation. Example: google.appengine.v1beta. + # Versions.CreateVersion.@OutputOnly + # Corresponds to the JSON property `method` # @return [String] - attr_accessor :host + attr_accessor :method_prop - # Number of consecutive failed checks required before removing traffic. - # Corresponds to the JSON property `failureThreshold` - # @return [Fixnum] - attr_accessor :failure_threshold + # Time that this operation completed.@OutputOnly + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time - # Number of consecutive successful checks required before receiving traffic. - # Corresponds to the JSON property `successThreshold` - # @return [Fixnum] - attr_accessor :success_threshold + # Durable messages that persist on every operation poll. @OutputOnly + # Corresponds to the JSON property `warning` + # @return [Array<String>] + attr_accessor :warning - # Interval between health checks. - # Corresponds to the JSON property `checkInterval` + # Time that this operation was created.@OutputOnly + # Corresponds to the JSON property `insertTime` # @return [String] - attr_accessor :check_interval + attr_accessor :insert_time - # Time before the check is considered failed. - # Corresponds to the JSON property `timeout` + # User who requested this operation.@OutputOnly + # Corresponds to the JSON property `user` # @return [String] - attr_accessor :timeout + attr_accessor :user + # Name of the resource that this operation is acting on. Example: apps/myapp/ + # services/default.@OutputOnly + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @path = args[:path] if args.key?(:path) - @host = args[:host] if args.key?(:host) - @failure_threshold = args[:failure_threshold] if args.key?(:failure_threshold) - @success_threshold = args[:success_threshold] if args.key?(:success_threshold) - @check_interval = args[:check_interval] if args.key?(:check_interval) - @timeout = args[:timeout] if args.key?(:timeout) + @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message) + @method_prop = args[:method_prop] if args.key?(:method_prop) + @end_time = args[:end_time] if args.key?(:end_time) + @warning = args[:warning] if args.key?(:warning) + @insert_time = args[:insert_time] if args.key?(:insert_time) + @user = args[:user] if args.key?(:user) + @target = args[:target] if args.key?(:target) end end - # Health checking configuration for VM instances. Unhealthy instances are killed - # and replaced with new instances. - class LivenessCheck + # Response message for Services.ListServices. + class ListServicesResponse include Google::Apis::Core::Hashable - # The request path. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path + # The services belonging to the requested application. + # Corresponds to the JSON property `services` + # @return [Array<Google::Apis::AppengineV1::Service>] + attr_accessor :services - # Host header to send when performing a HTTP Liveness check. Example: "myapp. - # appspot.com" - # Corresponds to the JSON property `host` + # Continuation token for fetching the next page of results. + # Corresponds to the JSON property `nextPageToken` # @return [String] - attr_accessor :host + attr_accessor :next_page_token - # Number of consecutive failed checks required before considering the VM - # unhealthy. - # Corresponds to the JSON property `failureThreshold` - # @return [Fixnum] - attr_accessor :failure_threshold - - # Number of consecutive successful checks required before considering the VM - # healthy. - # Corresponds to the JSON property `successThreshold` - # @return [Fixnum] - attr_accessor :success_threshold - - # Interval between health checks. - # Corresponds to the JSON property `checkInterval` - # @return [String] - attr_accessor :check_interval - - # Time before the check is considered failed. - # Corresponds to the JSON property `timeout` - # @return [String] - attr_accessor :timeout - - # The initial delay before starting to execute the checks. - # Corresponds to the JSON property `initialDelay` - # @return [String] - attr_accessor :initial_delay - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @path = args[:path] if args.key?(:path) - @host = args[:host] if args.key?(:host) - @failure_threshold = args[:failure_threshold] if args.key?(:failure_threshold) - @success_threshold = args[:success_threshold] if args.key?(:success_threshold) - @check_interval = args[:check_interval] if args.key?(:check_interval) - @timeout = args[:timeout] if args.key?(:timeout) - @initial_delay = args[:initial_delay] if args.key?(:initial_delay) + @services = args[:services] if args.key?(:services) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # Code and application artifacts used to deploy a version to App Engine. class Deployment @@ -1589,157 +1603,170 @@ # with this call. # Corresponds to the JSON property `files` # @return [Hash<String,Google::Apis::AppengineV1::FileInfo>] attr_accessor :files + # The zip file information for a zip deployment. + # Corresponds to the JSON property `zip` + # @return [Google::Apis::AppengineV1::ZipInfo] + attr_accessor :zip + # Docker image that is used to create a container and start a VM instance for # the version that you deploy. Only applicable for instances running in the App # Engine flexible environment. # Corresponds to the JSON property `container` # @return [Google::Apis::AppengineV1::ContainerInfo] attr_accessor :container - # The zip file information for a zip deployment. - # Corresponds to the JSON property `zip` - # @return [Google::Apis::AppengineV1::ZipInfo] - attr_accessor :zip - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @files = args[:files] if args.key?(:files) - @container = args[:container] if args.key?(:container) @zip = args[:zip] if args.key?(:zip) + @container = args[:container] if args.key?(:container) end end - # Single source file that is part of the version to be deployed. Each source - # file that is deployed must be specified separately. - class FileInfo + # Machine resources for a version. + class Resources include Google::Apis::Core::Hashable - # URL source to use to fetch this file. Must be a URL to a resource in Google - # Cloud Storage in the form 'http(s)://storage.googleapis.com//'. - # Corresponds to the JSON property `sourceUrl` - # @return [String] - attr_accessor :source_url + # Number of CPU cores needed. + # Corresponds to the JSON property `cpu` + # @return [Float] + attr_accessor :cpu - # The SHA1 hash of the file, in hex. - # Corresponds to the JSON property `sha1Sum` - # @return [String] - attr_accessor :sha1_sum + # Memory (GB) needed. + # Corresponds to the JSON property `memoryGb` + # @return [Float] + attr_accessor :memory_gb - # The MIME type of the file.Defaults to the value from Google Cloud Storage. - # Corresponds to the JSON property `mimeType` - # @return [String] - attr_accessor :mime_type + # User specified volumes. + # Corresponds to the JSON property `volumes` + # @return [Array<Google::Apis::AppengineV1::Volume>] + attr_accessor :volumes + # Disk size (GB) needed. + # Corresponds to the JSON property `diskGb` + # @return [Float] + attr_accessor :disk_gb + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @source_url = args[:source_url] if args.key?(:source_url) - @sha1_sum = args[:sha1_sum] if args.key?(:sha1_sum) - @mime_type = args[:mime_type] if args.key?(:mime_type) + @cpu = args[:cpu] if args.key?(:cpu) + @memory_gb = args[:memory_gb] if args.key?(:memory_gb) + @volumes = args[:volumes] if args.key?(:volumes) + @disk_gb = args[:disk_gb] if args.key?(:disk_gb) end end - # Docker image that is used to create a container and start a VM instance for - # the version that you deploy. Only applicable for instances running in the App - # Engine flexible environment. - class ContainerInfo + # Volumes mounted within the app container. Only applicable for VM runtimes. + class Volume include Google::Apis::Core::Hashable - # URI to the hosted container image in Google Container Registry. The URI must - # be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/ - # image:tag" or "gcr.io/my-project/image@digest" - # Corresponds to the JSON property `image` + # Underlying volume type, e.g. 'tmpfs'. + # Corresponds to the JSON property `volumeType` # @return [String] - attr_accessor :image + attr_accessor :volume_type + # Volume size in gigabytes. + # Corresponds to the JSON property `sizeGb` + # @return [Float] + attr_accessor :size_gb + + # Unique name for the volume. + # 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) - @image = args[:image] if args.key?(:image) + @volume_type = args[:volume_type] if args.key?(:volume_type) + @size_gb = args[:size_gb] if args.key?(:size_gb) + @name = args[:name] if args.key?(:name) end end - # The zip file information for a zip deployment. - class ZipInfo + # Response message for Instances.ListInstances. + class ListInstancesResponse include Google::Apis::Core::Hashable - # URL of the zip file to deploy from. Must be a URL to a resource in Google - # Cloud Storage in the form 'http(s)://storage.googleapis.com//'. - # Corresponds to the JSON property `sourceUrl` + # Continuation token for fetching the next page of results. + # Corresponds to the JSON property `nextPageToken` # @return [String] - attr_accessor :source_url + attr_accessor :next_page_token - # An estimate of the number of files in a zip for a zip deployment. If set, must - # be greater than or equal to the actual number of files. Used for optimizing - # performance; if not provided, deployment may be slow. - # Corresponds to the JSON property `filesCount` - # @return [Fixnum] - attr_accessor :files_count + # The instances belonging to the requested version. + # Corresponds to the JSON property `instances` + # @return [Array<Google::Apis::AppengineV1::Instance>] + attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @source_url = args[:source_url] if args.key?(:source_url) - @files_count = args[:files_count] if args.key?(:files_count) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @instances = args[:instances] if args.key?(:instances) end end - # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The - # Endpoints API Service provides tooling for serving Open API and gRPC endpoints - # via an NGINX proxy.The fields here refer to the name and configuration id of a - # "service" resource in the Service Management API (https://cloud.google.com/ - # service-management/overview). - class EndpointsApiService + # Rules to match an HTTP request and dispatch that request to a service. + class UrlDispatchRule include Google::Apis::Core::Hashable - # Endpoints service name which is the name of the "service" resource in the - # Service Management API. For example "myapi.endpoints.myproject.cloud.goog" - # Corresponds to the JSON property `name` + # Pathname within the host. Must start with a "/". A single "*" can be included + # at the end of the path.The sum of the lengths of the domain and path may not + # exceed 100 characters. + # Corresponds to the JSON property `path` # @return [String] - attr_accessor :name + attr_accessor :path - # Endpoints service configuration id as specified by the Service Management API. - # For example "2016-09-19r1" - # Corresponds to the JSON property `configId` + # Domain name to match against. The wildcard "*" is supported if specified + # before a period: "*.".Defaults to matching all domains: "*". + # Corresponds to the JSON property `domain` # @return [String] - attr_accessor :config_id + attr_accessor :domain + # Resource ID of a service in this application that should serve the matched + # request. The service must already exist. Example: default. + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @name = args[:name] if args.key?(:name) - @config_id = args[:config_id] if args.key?(:config_id) + @path = args[:path] if args.key?(:path) + @domain = args[:domain] if args.key?(:domain) + @service = args[:service] if args.key?(:service) end end - # Response message for Instances.ListInstances. - class ListInstancesResponse + # Response message for Versions.ListVersions. + class ListVersionsResponse include Google::Apis::Core::Hashable - # The instances belonging to the requested version. - # Corresponds to the JSON property `instances` - # @return [Array<Google::Apis::AppengineV1::Instance>] - attr_accessor :instances + # The versions belonging to the requested service. + # Corresponds to the JSON property `versions` + # @return [Array<Google::Apis::AppengineV1::Version>] + attr_accessor :versions # Continuation token for fetching the next page of results. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token @@ -1748,154 +1775,176 @@ update!(**args) end # Update properties of this object def update!(**args) - @instances = args[:instances] if args.key?(:instances) + @versions = args[:versions] if args.key?(:versions) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end - # An Instance resource is the computing unit that App Engine uses to - # automatically scale an application. - class Instance + # Uses Google Cloud Endpoints to handle requests. + class ApiEndpointHandler include Google::Apis::Core::Hashable - # Full path to the Instance resource in the API. Example: apps/myapp/services/ - # default/versions/v1/instances/instance-1.@OutputOnly - # Corresponds to the JSON property `name` + # Path to the script from the application root directory. + # Corresponds to the JSON property `scriptPath` # @return [String] - attr_accessor :name + attr_accessor :script_path - # Relative name of the instance within the version. Example: instance-1.@ - # OutputOnly - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id + def initialize(**args) + update!(**args) + end - # App Engine release this instance is running on.@OutputOnly - # Corresponds to the JSON property `appEngineRelease` - # @return [String] - attr_accessor :app_engine_release + # Update properties of this object + def update!(**args) + @script_path = args[:script_path] if args.key?(:script_path) + end + end - # Availability of the instance.@OutputOnly - # Corresponds to the JSON property `availability` - # @return [String] - attr_accessor :availability + # Automatic scaling is based on request rate, response latencies, and other + # application metrics. + class AutomaticScaling + include Google::Apis::Core::Hashable - # Name of the virtual machine where this instance lives. Only applicable for - # instances in App Engine flexible environment.@OutputOnly - # Corresponds to the JSON property `vmName` + # Minimum amount of time a request should wait in the pending queue before + # starting a new instance to handle it. + # Corresponds to the JSON property `minPendingLatency` # @return [String] - attr_accessor :vm_name + attr_accessor :min_pending_latency - # Zone where the virtual machine is located. Only applicable for instances in - # App Engine flexible environment.@OutputOnly - # Corresponds to the JSON property `vmZoneName` - # @return [String] - attr_accessor :vm_zone_name + # Target scaling by request utilization. Only applicable for VM runtimes. + # Corresponds to the JSON property `requestUtilization` + # @return [Google::Apis::AppengineV1::RequestUtilization] + attr_accessor :request_utilization - # Virtual machine ID of this instance. Only applicable for instances in App - # Engine flexible environment.@OutputOnly - # Corresponds to the JSON property `vmId` - # @return [String] - attr_accessor :vm_id + # Maximum number of idle instances that should be maintained for this version. + # Corresponds to the JSON property `maxIdleInstances` + # @return [Fixnum] + attr_accessor :max_idle_instances - # Time that this instance was started.@OutputOnly - # Corresponds to the JSON property `startTime` - # @return [String] - attr_accessor :start_time + # Minimum number of idle instances that should be maintained for this version. + # Only applicable for the default version of a service. + # Corresponds to the JSON property `minIdleInstances` + # @return [Fixnum] + attr_accessor :min_idle_instances - # Number of requests since this instance was started.@OutputOnly - # Corresponds to the JSON property `requests` + # Maximum number of instances that should be started to handle requests. + # Corresponds to the JSON property `maxTotalInstances` # @return [Fixnum] - attr_accessor :requests + attr_accessor :max_total_instances - # Number of errors since this instance was started.@OutputOnly - # Corresponds to the JSON property `errors` + # Minimum number of instances that should be maintained for this version. + # Corresponds to the JSON property `minTotalInstances` # @return [Fixnum] - attr_accessor :errors + attr_accessor :min_total_instances - # Average queries per second (QPS) over the last minute.@OutputOnly - # Corresponds to the JSON property `qps` - # @return [Float] - attr_accessor :qps + # Target scaling by network usage. Only applicable for VM runtimes. + # Corresponds to the JSON property `networkUtilization` + # @return [Google::Apis::AppengineV1::NetworkUtilization] + attr_accessor :network_utilization - # Average latency (ms) over the last minute.@OutputOnly - # Corresponds to the JSON property `averageLatency` + # Number of concurrent requests an automatic scaling instance can accept before + # the scheduler spawns a new instance.Defaults to a runtime-specific value. + # Corresponds to the JSON property `maxConcurrentRequests` # @return [Fixnum] - attr_accessor :average_latency + attr_accessor :max_concurrent_requests - # Total memory in use (bytes).@OutputOnly - # Corresponds to the JSON property `memoryUsage` - # @return [Fixnum] - attr_accessor :memory_usage + # Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/ + # autoscaler/) should wait between changes to the number of virtual machines. + # Only applicable for VM runtimes. + # Corresponds to the JSON property `coolDownPeriod` + # @return [String] + attr_accessor :cool_down_period - # Status of the virtual machine where this instance lives. Only applicable for - # instances in App Engine flexible environment.@OutputOnly - # Corresponds to the JSON property `vmStatus` + # Maximum amount of time that a request should wait in the pending queue before + # starting a new instance to handle it. + # Corresponds to the JSON property `maxPendingLatency` # @return [String] - attr_accessor :vm_status + attr_accessor :max_pending_latency - # Whether this instance is in debug mode. Only applicable for instances in App - # Engine flexible environment.@OutputOnly - # Corresponds to the JSON property `vmDebugEnabled` - # @return [Boolean] - attr_accessor :vm_debug_enabled - alias_method :vm_debug_enabled?, :vm_debug_enabled + # Target scaling by CPU usage. + # Corresponds to the JSON property `cpuUtilization` + # @return [Google::Apis::AppengineV1::CpuUtilization] + attr_accessor :cpu_utilization - # The IP address of this instance. Only applicable for instances in App Engine - # flexible environment.@OutputOnly - # Corresponds to the JSON property `vmIp` + # Target scaling by disk usage. Only applicable for VM runtimes. + # Corresponds to the JSON property `diskUtilization` + # @return [Google::Apis::AppengineV1::DiskUtilization] + attr_accessor :disk_utilization + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency) + @request_utilization = args[:request_utilization] if args.key?(:request_utilization) + @max_idle_instances = args[:max_idle_instances] if args.key?(:max_idle_instances) + @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances) + @max_total_instances = args[:max_total_instances] if args.key?(:max_total_instances) + @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances) + @network_utilization = args[:network_utilization] if args.key?(:network_utilization) + @max_concurrent_requests = args[:max_concurrent_requests] if args.key?(:max_concurrent_requests) + @cool_down_period = args[:cool_down_period] if args.key?(:cool_down_period) + @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency) + @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization) + @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization) + end + end + + # The zip file information for a zip deployment. + class ZipInfo + include Google::Apis::Core::Hashable + + # URL of the zip file to deploy from. Must be a URL to a resource in Google + # Cloud Storage in the form 'http(s)://storage.googleapis.com/<bucket>/<object>'. + # Corresponds to the JSON property `sourceUrl` # @return [String] - attr_accessor :vm_ip + attr_accessor :source_url + # An estimate of the number of files in a zip for a zip deployment. If set, must + # be greater than or equal to the actual number of files. Used for optimizing + # performance; if not provided, deployment may be slow. + # Corresponds to the JSON property `filesCount` + # @return [Fixnum] + attr_accessor :files_count + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @name = args[:name] if args.key?(:name) - @id = args[:id] if args.key?(:id) - @app_engine_release = args[:app_engine_release] if args.key?(:app_engine_release) - @availability = args[:availability] if args.key?(:availability) - @vm_name = args[:vm_name] if args.key?(:vm_name) - @vm_zone_name = args[:vm_zone_name] if args.key?(:vm_zone_name) - @vm_id = args[:vm_id] if args.key?(:vm_id) - @start_time = args[:start_time] if args.key?(:start_time) - @requests = args[:requests] if args.key?(:requests) - @errors = args[:errors] if args.key?(:errors) - @qps = args[:qps] if args.key?(:qps) - @average_latency = args[:average_latency] if args.key?(:average_latency) - @memory_usage = args[:memory_usage] if args.key?(:memory_usage) - @vm_status = args[:vm_status] if args.key?(:vm_status) - @vm_debug_enabled = args[:vm_debug_enabled] if args.key?(:vm_debug_enabled) - @vm_ip = args[:vm_ip] if args.key?(:vm_ip) + @source_url = args[:source_url] if args.key?(:source_url) + @files_count = args[:files_count] if args.key?(:files_count) end end - # Request message for Instances.DebugInstance. - class DebugInstanceRequest + # Third-party Python runtime library that is required by the application. + class Library include Google::Apis::Core::Hashable - # Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa [KEY_VALUE] - # [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh `"userName":"[USERNAME]", - # "expireOn":"[EXPIRE_TIME]"`For more information, see Adding and Removing SSH - # Keys (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys) - # . - # Corresponds to the JSON property `sshKey` + # Name of the library. Example: "django". + # Corresponds to the JSON property `name` # @return [String] - attr_accessor :ssh_key + attr_accessor :name + # Version of the library to select, or "latest". + # Corresponds to the JSON property `version` + # @return [String] + attr_accessor :version + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @ssh_key = args[:ssh_key] if args.key?(:ssh_key) + @name = args[:name] if args.key?(:name) + @version = args[:version] if args.key?(:version) end end # The response message for Locations.ListLocations. class ListLocationsResponse @@ -1920,331 +1969,290 @@ @locations = args[:locations] if args.key?(:locations) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end - # A resource that represents Google Cloud Platform location. - class Location + # Docker image that is used to create a container and start a VM instance for + # the version that you deploy. Only applicable for instances running in the App + # Engine flexible environment. + class ContainerInfo include Google::Apis::Core::Hashable - # Resource name for the location, which may vary between implementations. For - # example: "projects/example-project/locations/us-east1" - # Corresponds to the JSON property `name` + # URI to the hosted container image in Google Container Registry. The URI must + # be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/ + # image:tag" or "gcr.io/my-project/image@digest" + # Corresponds to the JSON property `image` # @return [String] - attr_accessor :name + attr_accessor :image - # The canonical id for this location. For example: "us-east1". - # Corresponds to the JSON property `locationId` - # @return [String] - attr_accessor :location_id - - # Cross-service attributes for the location. For example `"cloud.googleapis.com/ - # region": "us-east1"` - # Corresponds to the JSON property `labels` - # @return [Hash<String,String>] - attr_accessor :labels - - # Service-specific metadata. For example the available capacity at the given - # location. - # Corresponds to the JSON property `metadata` - # @return [Hash<String,Object>] - attr_accessor :metadata - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @name = args[:name] if args.key?(:name) - @location_id = args[:location_id] if args.key?(:location_id) - @labels = args[:labels] if args.key?(:labels) - @metadata = args[:metadata] if args.key?(:metadata) + @image = args[:image] if args.key?(:image) end end - # Metadata for the given google.longrunning.Operation. - class OperationMetadataExperimental + # Target scaling by request utilization. Only applicable for VM runtimes. + class RequestUtilization include Google::Apis::Core::Hashable - # API method that initiated this operation. Example: google.appengine. - # experimental.CustomDomains.CreateCustomDomain.@OutputOnly - # Corresponds to the JSON property `method` - # @return [String] - attr_accessor :method_prop + # Target requests per second. + # Corresponds to the JSON property `targetRequestCountPerSecond` + # @return [Fixnum] + attr_accessor :target_request_count_per_second - # Time that this operation was created.@OutputOnly - # Corresponds to the JSON property `insertTime` - # @return [String] - attr_accessor :insert_time + # Target number of concurrent requests. + # Corresponds to the JSON property `targetConcurrentRequests` + # @return [Fixnum] + attr_accessor :target_concurrent_requests - # Time that this operation completed.@OutputOnly - # Corresponds to the JSON property `endTime` - # @return [String] - attr_accessor :end_time - - # User who requested this operation.@OutputOnly - # Corresponds to the JSON property `user` - # @return [String] - attr_accessor :user - - # Name of the resource that this operation is acting on. Example: apps/myapp/ - # customDomains/example.com.@OutputOnly - # Corresponds to the JSON property `target` - # @return [String] - attr_accessor :target - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @method_prop = args[:method_prop] if args.key?(:method_prop) - @insert_time = args[:insert_time] if args.key?(:insert_time) - @end_time = args[:end_time] if args.key?(:end_time) - @user = args[:user] if args.key?(:user) - @target = args[:target] if args.key?(:target) + @target_request_count_per_second = args[:target_request_count_per_second] if args.key?(:target_request_count_per_second) + @target_concurrent_requests = args[:target_concurrent_requests] if args.key?(:target_concurrent_requests) end end - # Metadata for the given google.longrunning.Operation. - class OperationMetadata + # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The + # Endpoints API Service provides tooling for serving Open API and gRPC endpoints + # via an NGINX proxy.The fields here refer to the name and configuration id of a + # "service" resource in the Service Management API (https://cloud.google.com/ + # service-management/overview). + class EndpointsApiService include Google::Apis::Core::Hashable - # Type of this operation. Deprecated, use method field instead. Example: " - # create_version".@OutputOnly - # Corresponds to the JSON property `operationType` + # Endpoints service name which is the name of the "service" resource in the + # Service Management API. For example "myapi.endpoints.myproject.cloud.goog" + # Corresponds to the JSON property `name` # @return [String] - attr_accessor :operation_type + attr_accessor :name - # Timestamp that this operation was created.@OutputOnly - # Corresponds to the JSON property `insertTime` + # Endpoints service configuration id as specified by the Service Management API. + # For example "2016-09-19r1" + # Corresponds to the JSON property `configId` # @return [String] - attr_accessor :insert_time + attr_accessor :config_id - # Timestamp that this operation completed.@OutputOnly - # Corresponds to the JSON property `endTime` - # @return [String] - attr_accessor :end_time - - # User who requested this operation.@OutputOnly - # Corresponds to the JSON property `user` - # @return [String] - attr_accessor :user - - # Name of the resource that this operation is acting on. Example: apps/myapp/ - # modules/default.@OutputOnly - # Corresponds to the JSON property `target` - # @return [String] - attr_accessor :target - - # API method that initiated this operation. Example: google.appengine.v1beta4. - # Version.CreateVersion.@OutputOnly - # Corresponds to the JSON property `method` - # @return [String] - attr_accessor :method_prop - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @operation_type = args[:operation_type] if args.key?(:operation_type) - @insert_time = args[:insert_time] if args.key?(:insert_time) - @end_time = args[:end_time] if args.key?(:end_time) - @user = args[:user] if args.key?(:user) - @target = args[:target] if args.key?(:target) - @method_prop = args[:method_prop] if args.key?(:method_prop) + @name = args[:name] if args.key?(:name) + @config_id = args[:config_id] if args.key?(:config_id) end end - # Metadata for the given google.longrunning.Operation. - class OperationMetadataV1Beta5 + # URL pattern and description of how the URL should be handled. App Engine can + # handle URLs by executing application code or by serving static files uploaded + # with the version, such as images, CSS, or JavaScript. + class UrlMap include Google::Apis::Core::Hashable - # API method name that initiated this operation. Example: google.appengine. - # v1beta5.Version.CreateVersion.@OutputOnly - # Corresponds to the JSON property `method` + # Uses Google Cloud Endpoints to handle requests. + # Corresponds to the JSON property `apiEndpoint` + # @return [Google::Apis::AppengineV1::ApiEndpointHandler] + attr_accessor :api_endpoint + + # Files served directly to the user for a given URL, such as images, CSS + # stylesheets, or JavaScript source files. Static file handlers describe which + # files in the application directory are static files, and which URLs serve them. + # Corresponds to the JSON property `staticFiles` + # @return [Google::Apis::AppengineV1::StaticFilesHandler] + attr_accessor :static_files + + # 30x code to use when performing redirects for the secure field. Defaults to + # 302. + # Corresponds to the JSON property `redirectHttpResponseCode` # @return [String] - attr_accessor :method_prop + attr_accessor :redirect_http_response_code - # Timestamp that this operation was created.@OutputOnly - # Corresponds to the JSON property `insertTime` + # Security (HTTPS) enforcement for this URL. + # Corresponds to the JSON property `securityLevel` # @return [String] - attr_accessor :insert_time + attr_accessor :security_level - # Timestamp that this operation completed.@OutputOnly - # Corresponds to the JSON property `endTime` + # Action to take when users access resources that require authentication. + # Defaults to redirect. + # Corresponds to the JSON property `authFailAction` # @return [String] - attr_accessor :end_time + attr_accessor :auth_fail_action - # User who requested this operation.@OutputOnly - # Corresponds to the JSON property `user` + # Executes a script to handle the request that matches the URL pattern. + # Corresponds to the JSON property `script` + # @return [Google::Apis::AppengineV1::ScriptHandler] + attr_accessor :script + + # URL prefix. Uses regular expression syntax, which means regexp special + # characters must be escaped, but should not contain groupings. All URLs that + # begin with this prefix are handled by this handler, using the portion of the + # URL after the prefix as part of the file path. + # Corresponds to the JSON property `urlRegex` # @return [String] - attr_accessor :user + attr_accessor :url_regex - # Name of the resource that this operation is acting on. Example: apps/myapp/ - # services/default.@OutputOnly - # Corresponds to the JSON property `target` + # Level of login required to access this resource. + # Corresponds to the JSON property `login` # @return [String] - attr_accessor :target + attr_accessor :login def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @method_prop = args[:method_prop] if args.key?(:method_prop) - @insert_time = args[:insert_time] if args.key?(:insert_time) - @end_time = args[:end_time] if args.key?(:end_time) - @user = args[:user] if args.key?(:user) - @target = args[:target] if args.key?(:target) + @api_endpoint = args[:api_endpoint] if args.key?(:api_endpoint) + @static_files = args[:static_files] if args.key?(:static_files) + @redirect_http_response_code = args[:redirect_http_response_code] if args.key?(:redirect_http_response_code) + @security_level = args[:security_level] if args.key?(:security_level) + @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action) + @script = args[:script] if args.key?(:script) + @url_regex = args[:url_regex] if args.key?(:url_regex) + @login = args[:login] if args.key?(:login) end end - # Metadata for the given google.longrunning.Operation. - class OperationMetadataV1Beta + # Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/ + # endpoints/) configuration for API handlers. + class ApiConfigHandler include Google::Apis::Core::Hashable - # API method that initiated this operation. Example: google.appengine.v1beta. - # Versions.CreateVersion.@OutputOnly - # Corresponds to the JSON property `method` + # Level of login required to access this resource. Defaults to optional. + # Corresponds to the JSON property `login` # @return [String] - attr_accessor :method_prop + attr_accessor :login - # Time that this operation was created.@OutputOnly - # Corresponds to the JSON property `insertTime` + # URL to serve the endpoint at. + # Corresponds to the JSON property `url` # @return [String] - attr_accessor :insert_time + attr_accessor :url - # Time that this operation completed.@OutputOnly - # Corresponds to the JSON property `endTime` + # Security (HTTPS) enforcement for this URL. + # Corresponds to the JSON property `securityLevel` # @return [String] - attr_accessor :end_time + attr_accessor :security_level - # User who requested this operation.@OutputOnly - # Corresponds to the JSON property `user` + # Action to take when users access resources that require authentication. + # Defaults to redirect. + # Corresponds to the JSON property `authFailAction` # @return [String] - attr_accessor :user + attr_accessor :auth_fail_action - # Name of the resource that this operation is acting on. Example: apps/myapp/ - # services/default.@OutputOnly - # Corresponds to the JSON property `target` + # Path to the script from the application root directory. + # Corresponds to the JSON property `script` # @return [String] - attr_accessor :target + attr_accessor :script - # Ephemeral message that may change every time the operation is polled. @ - # OutputOnly - # Corresponds to the JSON property `ephemeralMessage` - # @return [String] - attr_accessor :ephemeral_message - - # Durable messages that persist on every operation poll. @OutputOnly - # Corresponds to the JSON property `warning` - # @return [Array<String>] - attr_accessor :warning - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @method_prop = args[:method_prop] if args.key?(:method_prop) - @insert_time = args[:insert_time] if args.key?(:insert_time) - @end_time = args[:end_time] if args.key?(:end_time) - @user = args[:user] if args.key?(:user) - @target = args[:target] if args.key?(:target) - @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message) - @warning = args[:warning] if args.key?(:warning) + @login = args[:login] if args.key?(:login) + @url = args[:url] if args.key?(:url) + @security_level = args[:security_level] if args.key?(:security_level) + @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action) + @script = args[:script] if args.key?(:script) end end - # Metadata for the given google.longrunning.Operation. - class OperationMetadataV1 + # This resource represents a long-running operation that is the result of a + # network API call. + class Operation include Google::Apis::Core::Hashable - # API method that initiated this operation. Example: google.appengine.v1. - # Versions.CreateVersion.@OutputOnly - # Corresponds to the JSON property `method` + # 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 :method_prop + attr_accessor :name - # Time that this operation was created.@OutputOnly - # Corresponds to the JSON property `insertTime` - # @return [String] - attr_accessor :insert_time + # 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 needsOverviewThe Status message contains + # three pieces of data: error code, error message, and error details. The error + # code should be an enum value of google.rpc.Code, but it may accept additional + # error codes if needed. The 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.Language mappingThe 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 in Java, but more likely mapped to some error codes in C. + # Other usesThe error model and the Status message can be used in a variety of + # environments, either with or without APIs, to provide a consistent developer + # experience across different environments.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. + # 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 represented directly + # using the Status message. + # Logging. If some API errors are stored in logs, the message Status could be + # used directly after any stripping needed for security/privacy reasons. + # Corresponds to the JSON property `error` + # @return [Google::Apis::AppengineV1::Status] + attr_accessor :error - # Time that this operation completed.@OutputOnly - # Corresponds to the JSON property `endTime` - # @return [String] - attr_accessor :end_time + # Service-specific metadata associated with the operation. It typically contains + # progress information and common metadata such as create time. Some services + # might not provide such metadata. Any method that returns a long-running + # operation should document the metadata type, if any. + # Corresponds to the JSON property `metadata` + # @return [Hash<String,Object>] + attr_accessor :metadata - # User who requested this operation.@OutputOnly - # Corresponds to the JSON property `user` - # @return [String] - attr_accessor :user - - # Name of the resource that this operation is acting on. Example: apps/myapp/ - # services/default.@OutputOnly - # Corresponds to the JSON property `target` - # @return [String] - attr_accessor :target - - # Ephemeral message that may change every time the operation is polled. @ - # OutputOnly - # Corresponds to the JSON property `ephemeralMessage` - # @return [String] - attr_accessor :ephemeral_message - - # Durable messages that persist on every operation poll. @OutputOnly - # Corresponds to the JSON property `warning` - # @return [Array<String>] - attr_accessor :warning - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @method_prop = args[:method_prop] if args.key?(:method_prop) - @insert_time = args[:insert_time] if args.key?(:insert_time) - @end_time = args[:end_time] if args.key?(:end_time) - @user = args[:user] if args.key?(:user) - @target = args[:target] if args.key?(:target) - @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message) - @warning = args[:warning] if args.key?(:warning) - end - end - - # Metadata for the given google.cloud.location.Location. - class LocationMetadata - include Google::Apis::Core::Hashable - - # App Engine Standard Environment is available in the given location.@OutputOnly - # Corresponds to the JSON property `standardEnvironmentAvailable` + # If the value is false, it means the operation is still in progress. If true, + # the operation is completed, and either error or response is available. + # Corresponds to the JSON property `done` # @return [Boolean] - attr_accessor :standard_environment_available - alias_method :standard_environment_available?, :standard_environment_available + attr_accessor :done + alias_method :done?, :done - # App Engine Flexible Environment is available in the given location.@OutputOnly - # Corresponds to the JSON property `flexibleEnvironmentAvailable` - # @return [Boolean] - attr_accessor :flexible_environment_available - alias_method :flexible_environment_available?, :flexible_environment_available + # 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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @standard_environment_available = args[:standard_environment_available] if args.key?(:standard_environment_available) - @flexible_environment_available = args[:flexible_environment_available] if args.key?(:flexible_environment_available) + @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) end end end end end