# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module RunV1beta1 # CustomResourceColumnDefinition specifies a column for server side printing. class CustomResourceColumnDefinition include Google::Apis::Core::Hashable # description is a human readable description of this column. # +optional # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # format is an optional OpenAPI type definition for this column. The 'name' # format is applied to the primary identifier column to assist in clients # identifying column is the resource name. See # https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data- # types # for more. +optional # Corresponds to the JSON property `format` # @return [String] attr_accessor :format # JSONPath is a simple JSON path, i.e. with array notation. # Corresponds to the JSON property `jsonPath` # @return [String] attr_accessor :json_path # name is a human readable name for the column. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # priority is an integer defining the relative importance of this column # compared to others. Lower numbers are considered higher priority. Columns # that may be omitted in limited space scenarios should be given a higher # priority. +optional # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # type is an OpenAPI type definition for this column. # See # https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data- # types # for more. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @format = args[:format] if args.key?(:format) @json_path = args[:json_path] if args.key?(:json_path) @name = args[:name] if args.key?(:name) @priority = args[:priority] if args.key?(:priority) @type = args[:type] if args.key?(:type) end end # CustomResourceDefinition represents a resource that should be exposed on the # API server. Its name MUST be in the format # <.spec.name>.<.spec.group>. class CustomResourceDefinition include Google::Apis::Core::Hashable # The API version for this call such as "k8s.apiextensions.io/v1beta1". # Corresponds to the JSON property `apiVersion` # @return [String] attr_accessor :api_version # The kind of resource, one example is "Storage". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # ObjectMeta is metadata that all persisted resources must have, which includes # all objects users must create. # Corresponds to the JSON property `metadata` # @return [Google::Apis::RunV1beta1::ObjectMeta] attr_accessor :metadata # CustomResourceDefinitionSpec describes how a user wants their resource to # appear # Corresponds to the JSON property `spec` # @return [Google::Apis::RunV1beta1::CustomResourceDefinitionSpec] attr_accessor :spec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_version = args[:api_version] if args.key?(:api_version) @kind = args[:kind] if args.key?(:kind) @metadata = args[:metadata] if args.key?(:metadata) @spec = args[:spec] if args.key?(:spec) end end # CustomResourceDefinitionNames indicates the names to serve this # CustomResourceDefinition class CustomResourceDefinitionNames include Google::Apis::Core::Hashable # Categories is a list of grouped resources custom resources belong to (e.g. # 'all') +optional # Corresponds to the JSON property `categories` # @return [Array] attr_accessor :categories # Kind is the serialized kind of the resource. It is normally CamelCase and # singular. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # ListKind is the serialized kind of the list for this resource. Defaults to # List. +optional # Corresponds to the JSON property `listKind` # @return [String] attr_accessor :list_kind # Plural is the plural name of the resource to serve. It must match the name # of the CustomResourceDefinition-registration too: plural.group and it must # be all lowercase. # Corresponds to the JSON property `plural` # @return [String] attr_accessor :plural # ShortNames are short names for the resource. It must be all lowercase. # +optional # Corresponds to the JSON property `shortNames` # @return [Array] attr_accessor :short_names # Singular is the singular name of the resource. It must be all lowercase # Defaults to lowercased +optional # Corresponds to the JSON property `singular` # @return [String] attr_accessor :singular def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @categories = args[:categories] if args.key?(:categories) @kind = args[:kind] if args.key?(:kind) @list_kind = args[:list_kind] if args.key?(:list_kind) @plural = args[:plural] if args.key?(:plural) @short_names = args[:short_names] if args.key?(:short_names) @singular = args[:singular] if args.key?(:singular) end end # CustomResourceDefinitionSpec describes how a user wants their resource to # appear class CustomResourceDefinitionSpec include Google::Apis::Core::Hashable # AdditionalPrinterColumns are additional columns shown e.g. in kubectl next # to the name. Defaults to a created-at column. +optional # Corresponds to the JSON property `additionalPrinterColumns` # @return [Array] attr_accessor :additional_printer_columns # Group is the group this resource belongs in # Corresponds to the JSON property `group` # @return [String] attr_accessor :group # CustomResourceDefinitionNames indicates the names to serve this # CustomResourceDefinition # Corresponds to the JSON property `names` # @return [Google::Apis::RunV1beta1::CustomResourceDefinitionNames] attr_accessor :names # Scope indicates whether this resource is cluster or namespace scoped. # Default is namespaced # Corresponds to the JSON property `scope` # @return [String] attr_accessor :scope # CustomResourceSubresources defines the status and scale subresources for # CustomResources. # Corresponds to the JSON property `subresources` # @return [Google::Apis::RunV1beta1::CustomResourceSubresources] attr_accessor :subresources # CustomResourceValidation is a list of validation methods for CustomResources. # Corresponds to the JSON property `validation` # @return [Google::Apis::RunV1beta1::CustomResourceValidation] attr_accessor :validation # Version is the version this resource belongs in # Should be always first item in Versions field if provided. # Optional, but at least one of Version or Versions must be set. # Deprecated: Please use `Versions`. # +optional # Corresponds to the JSON property `version` # @return [String] attr_accessor :version # Versions is the list of all supported versions for this resource. # If Version field is provided, this field is optional. # Validation: All versions must use the same validation schema for now. i.e., # top level Validation field is applied to all of these versions. Order: The # version name will be used to compute the order. If the version string is # "kube-like", it will sort above non "kube-like" version strings, which are # ordered lexicographically. "Kube-like" versions start with a "v", then are # followed by a number (the major version), then optionally the string # "alpha" or "beta" and another number (the minor version). These are sorted # first by GA > beta > alpha (where GA is a version with no suffix such as # beta or alpha), and then by comparing major version, then minor version. An # example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, # v12alpha1, v11alpha2, foo1, foo10. +optional # Corresponds to the JSON property `versions` # @return [Array] attr_accessor :versions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @additional_printer_columns = args[:additional_printer_columns] if args.key?(:additional_printer_columns) @group = args[:group] if args.key?(:group) @names = args[:names] if args.key?(:names) @scope = args[:scope] if args.key?(:scope) @subresources = args[:subresources] if args.key?(:subresources) @validation = args[:validation] if args.key?(:validation) @version = args[:version] if args.key?(:version) @versions = args[:versions] if args.key?(:versions) end end # class CustomResourceDefinitionVersion include Google::Apis::Core::Hashable # Name is the version name, e.g. “v1”, “v2beta1”, etc. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Served is a flag enabling/disabling this version from being served via REST # APIs # Corresponds to the JSON property `served` # @return [Boolean] attr_accessor :served alias_method :served?, :served # Storage flags the version as storage version. There must be exactly one # flagged as storage version. # Corresponds to the JSON property `storage` # @return [Boolean] attr_accessor :storage alias_method :storage?, :storage def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @served = args[:served] if args.key?(:served) @storage = args[:storage] if args.key?(:storage) end end # CustomResourceSubresourceScale defines how to serve the scale subresource for # CustomResources. class CustomResourceSubresourceScale include Google::Apis::Core::Hashable # LabelSelectorPath defines the JSON path inside of a CustomResource that # corresponds to Scale.Status.Selector. Only JSON paths without the array # notation are allowed. Must be a JSON Path under .status. Must be set to # work with HPA. If there is no value under the given path in the # CustomResource, the status label selector value in the /scale subresource # will default to the empty string. +optional # Corresponds to the JSON property `labelSelectorPath` # @return [String] attr_accessor :label_selector_path # SpecReplicasPath defines the JSON path inside of a CustomResource that # corresponds to Scale.Spec.Replicas. Only JSON paths without the array # notation are allowed. Must be a JSON Path under .spec. If there is no value # under the given path in the CustomResource, the /scale subresource will # return an error on GET. # Corresponds to the JSON property `specReplicasPath` # @return [String] attr_accessor :spec_replicas_path # StatusReplicasPath defines the JSON path inside of a CustomResource that # corresponds to Scale.Status.Replicas. Only JSON paths without the array # notation are allowed. Must be a JSON Path under .status. If there is no # value under the given path in the CustomResource, the status replica value # in the /scale subresource will default to 0. # Corresponds to the JSON property `statusReplicasPath` # @return [String] attr_accessor :status_replicas_path def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @label_selector_path = args[:label_selector_path] if args.key?(:label_selector_path) @spec_replicas_path = args[:spec_replicas_path] if args.key?(:spec_replicas_path) @status_replicas_path = args[:status_replicas_path] if args.key?(:status_replicas_path) end end # CustomResourceSubresourceStatus defines how to serve the status subresource # for CustomResources. Status is represented by the `.status` JSON path inside # of a CustomResource. When set, # * exposes a /status subresource for the custom resource # * PUT requests to the /status subresource take a custom resource object, and # ignore changes to anything except the status stanza # * PUT/POST/PATCH requests to the custom resource ignore changes to the status # stanza class CustomResourceSubresourceStatus include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # CustomResourceSubresources defines the status and scale subresources for # CustomResources. class CustomResourceSubresources include Google::Apis::Core::Hashable # CustomResourceSubresourceScale defines how to serve the scale subresource for # CustomResources. # Corresponds to the JSON property `scale` # @return [Google::Apis::RunV1beta1::CustomResourceSubresourceScale] attr_accessor :scale # CustomResourceSubresourceStatus defines how to serve the status subresource # for CustomResources. Status is represented by the `.status` JSON path inside # of a CustomResource. When set, # * exposes a /status subresource for the custom resource # * PUT requests to the /status subresource take a custom resource object, and # ignore changes to anything except the status stanza # * PUT/POST/PATCH requests to the custom resource ignore changes to the status # stanza # Corresponds to the JSON property `status` # @return [Google::Apis::RunV1beta1::CustomResourceSubresourceStatus] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @scale = args[:scale] if args.key?(:scale) @status = args[:status] if args.key?(:status) end end # CustomResourceValidation is a list of validation methods for CustomResources. class CustomResourceValidation include Google::Apis::Core::Hashable # JSONSchemaProps is a JSON-Schema following Specification Draft 4 # (http://json-schema.org/). # Corresponds to the JSON property `openAPIV3Schema` # @return [Google::Apis::RunV1beta1::JsonSchemaProps] attr_accessor :open_apiv3_schema def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @open_apiv3_schema = args[:open_apiv3_schema] if args.key?(:open_apiv3_schema) end end # ExternalDocumentation allows referencing an external resource for extended # documentation. class ExternalDocumentation include Google::Apis::Core::Hashable # # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @url = args[:url] if args.key?(:url) end end # Initializer is information about an initializer that has not yet completed. class Initializer include Google::Apis::Core::Hashable # name of the process that is responsible for initializing this object. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) end end # Initializers tracks the progress of initialization. class Initializers include Google::Apis::Core::Hashable # Pending is a list of initializers that must execute in order before this # object is visible. When the last pending initializer is removed, and no # failing result is set, the initializers struct will be set to nil and the # object is considered as initialized and visible to all clients. # +patchMergeKey=name # +patchStrategy=merge # Corresponds to the JSON property `pending` # @return [Array] attr_accessor :pending def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @pending = args[:pending] if args.key?(:pending) end end # JSON represents any valid JSON value. # These types are supported: bool, int64, float64, string, []interface``, # map[string]interface`` and nil. class Json include Google::Apis::Core::Hashable # # Corresponds to the JSON property `raw` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :raw def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @raw = args[:raw] if args.key?(:raw) end end # JSONSchemaProps is a JSON-Schema following Specification Draft 4 # (http://json-schema.org/). class JsonSchemaProps include Google::Apis::Core::Hashable # JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. # Defaults to true for the boolean property. # Corresponds to the JSON property `additionalItems` # @return [Google::Apis::RunV1beta1::JsonSchemaPropsOrBool] attr_accessor :additional_items # JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. # Defaults to true for the boolean property. # Corresponds to the JSON property `additionalProperties` # @return [Google::Apis::RunV1beta1::JsonSchemaPropsOrBool] attr_accessor :additional_properties # # Corresponds to the JSON property `allOf` # @return [Array] attr_accessor :all_of # # Corresponds to the JSON property `anyOf` # @return [Array] attr_accessor :any_of # JSON represents any valid JSON value. # These types are supported: bool, int64, float64, string, []interface``, # map[string]interface`` and nil. # Corresponds to the JSON property `default` # @return [Google::Apis::RunV1beta1::Json] attr_accessor :default # # Corresponds to the JSON property `definitions` # @return [Hash] attr_accessor :definitions # # Corresponds to the JSON property `dependencies` # @return [Hash] attr_accessor :dependencies # # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `enum` # @return [Array] attr_accessor :enum # JSON represents any valid JSON value. # These types are supported: bool, int64, float64, string, []interface``, # map[string]interface`` and nil. # Corresponds to the JSON property `example` # @return [Google::Apis::RunV1beta1::Json] attr_accessor :example # # Corresponds to the JSON property `exclusiveMaximum` # @return [Boolean] attr_accessor :exclusive_maximum alias_method :exclusive_maximum?, :exclusive_maximum # # Corresponds to the JSON property `exclusiveMinimum` # @return [Boolean] attr_accessor :exclusive_minimum alias_method :exclusive_minimum?, :exclusive_minimum # ExternalDocumentation allows referencing an external resource for extended # documentation. # Corresponds to the JSON property `externalDocs` # @return [Google::Apis::RunV1beta1::ExternalDocumentation] attr_accessor :external_docs # # Corresponds to the JSON property `format` # @return [String] attr_accessor :format # # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # JSONSchemaPropsOrArray represents a value that can either be a # JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization # purposes. # Corresponds to the JSON property `items` # @return [Google::Apis::RunV1beta1::JsonSchemaPropsOrArray] attr_accessor :items # # Corresponds to the JSON property `maxItems` # @return [Fixnum] attr_accessor :max_items # # Corresponds to the JSON property `maxLength` # @return [Fixnum] attr_accessor :max_length # # Corresponds to the JSON property `maxProperties` # @return [Fixnum] attr_accessor :max_properties # # Corresponds to the JSON property `maximum` # @return [Float] attr_accessor :maximum # # Corresponds to the JSON property `minItems` # @return [Fixnum] attr_accessor :min_items # # Corresponds to the JSON property `minLength` # @return [Fixnum] attr_accessor :min_length # # Corresponds to the JSON property `minProperties` # @return [Fixnum] attr_accessor :min_properties # # Corresponds to the JSON property `minimum` # @return [Float] attr_accessor :minimum # # Corresponds to the JSON property `multipleOf` # @return [Float] attr_accessor :multiple_of # JSONSchemaProps is a JSON-Schema following Specification Draft 4 # (http://json-schema.org/). # Corresponds to the JSON property `not` # @return [Google::Apis::RunV1beta1::JsonSchemaProps] attr_accessor :not # # Corresponds to the JSON property `oneOf` # @return [Array] attr_accessor :one_of # # Corresponds to the JSON property `pattern` # @return [String] attr_accessor :pattern # # Corresponds to the JSON property `patternProperties` # @return [Hash] attr_accessor :pattern_properties # # Corresponds to the JSON property `properties` # @return [Hash] attr_accessor :properties # # Corresponds to the JSON property `ref` # @return [String] attr_accessor :ref # # Corresponds to the JSON property `required` # @return [Array] attr_accessor :required # # Corresponds to the JSON property `schema` # @return [String] attr_accessor :schema # # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # # Corresponds to the JSON property `uniqueItems` # @return [Boolean] attr_accessor :unique_items alias_method :unique_items?, :unique_items def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @additional_items = args[:additional_items] if args.key?(:additional_items) @additional_properties = args[:additional_properties] if args.key?(:additional_properties) @all_of = args[:all_of] if args.key?(:all_of) @any_of = args[:any_of] if args.key?(:any_of) @default = args[:default] if args.key?(:default) @definitions = args[:definitions] if args.key?(:definitions) @dependencies = args[:dependencies] if args.key?(:dependencies) @description = args[:description] if args.key?(:description) @enum = args[:enum] if args.key?(:enum) @example = args[:example] if args.key?(:example) @exclusive_maximum = args[:exclusive_maximum] if args.key?(:exclusive_maximum) @exclusive_minimum = args[:exclusive_minimum] if args.key?(:exclusive_minimum) @external_docs = args[:external_docs] if args.key?(:external_docs) @format = args[:format] if args.key?(:format) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @max_items = args[:max_items] if args.key?(:max_items) @max_length = args[:max_length] if args.key?(:max_length) @max_properties = args[:max_properties] if args.key?(:max_properties) @maximum = args[:maximum] if args.key?(:maximum) @min_items = args[:min_items] if args.key?(:min_items) @min_length = args[:min_length] if args.key?(:min_length) @min_properties = args[:min_properties] if args.key?(:min_properties) @minimum = args[:minimum] if args.key?(:minimum) @multiple_of = args[:multiple_of] if args.key?(:multiple_of) @not = args[:not] if args.key?(:not) @one_of = args[:one_of] if args.key?(:one_of) @pattern = args[:pattern] if args.key?(:pattern) @pattern_properties = args[:pattern_properties] if args.key?(:pattern_properties) @properties = args[:properties] if args.key?(:properties) @ref = args[:ref] if args.key?(:ref) @required = args[:required] if args.key?(:required) @schema = args[:schema] if args.key?(:schema) @title = args[:title] if args.key?(:title) @type = args[:type] if args.key?(:type) @unique_items = args[:unique_items] if args.key?(:unique_items) end end # JSONSchemaPropsOrArray represents a value that can either be a # JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization # purposes. class JsonSchemaPropsOrArray include Google::Apis::Core::Hashable # # Corresponds to the JSON property `jsonSchemas` # @return [Array] attr_accessor :json_schemas # JSONSchemaProps is a JSON-Schema following Specification Draft 4 # (http://json-schema.org/). # Corresponds to the JSON property `schema` # @return [Google::Apis::RunV1beta1::JsonSchemaProps] attr_accessor :schema def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @json_schemas = args[:json_schemas] if args.key?(:json_schemas) @schema = args[:schema] if args.key?(:schema) end end # JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. # Defaults to true for the boolean property. class JsonSchemaPropsOrBool include Google::Apis::Core::Hashable # # Corresponds to the JSON property `allows` # @return [Boolean] attr_accessor :allows alias_method :allows?, :allows # JSONSchemaProps is a JSON-Schema following Specification Draft 4 # (http://json-schema.org/). # Corresponds to the JSON property `schema` # @return [Google::Apis::RunV1beta1::JsonSchemaProps] attr_accessor :schema def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allows = args[:allows] if args.key?(:allows) @schema = args[:schema] if args.key?(:schema) end end # JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. class JsonSchemaPropsOrStringArray include Google::Apis::Core::Hashable # # Corresponds to the JSON property `property` # @return [Array] attr_accessor :property # JSONSchemaProps is a JSON-Schema following Specification Draft 4 # (http://json-schema.org/). # Corresponds to the JSON property `schema` # @return [Google::Apis::RunV1beta1::JsonSchemaProps] attr_accessor :schema def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @property = args[:property] if args.key?(:property) @schema = args[:schema] if args.key?(:schema) end end # class ListCustomResourceDefinitionsResponse include Google::Apis::Core::Hashable # The API version for this call such as "k8s.apiextensions.io/v1beta1". # Corresponds to the JSON property `apiVersion` # @return [String] attr_accessor :api_version # List of CustomResourceDefinitions. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The kind of this resource, in this case "CustomResourceDefinitionList". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # ListMeta describes metadata that synthetic resources must have, including # lists and various status objects. A resource may have only one of # `ObjectMeta, ListMeta`. # Corresponds to the JSON property `metadata` # @return [Google::Apis::RunV1beta1::ListMeta] attr_accessor :metadata # Locations that could not be reached. # Corresponds to the JSON property `unreachable` # @return [Array] attr_accessor :unreachable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_version = args[:api_version] if args.key?(:api_version) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @metadata = args[:metadata] if args.key?(:metadata) @unreachable = args[:unreachable] if args.key?(:unreachable) end end # ListMeta describes metadata that synthetic resources must have, including # lists and various status objects. A resource may have only one of # `ObjectMeta, ListMeta`. class ListMeta include Google::Apis::Core::Hashable # continue may be set if the user set a limit on the number of items # returned, and indicates that the server has more data available. The value # is opaque and may be used to issue another request to the endpoint that # served this list to retrieve the next set of available objects. Continuing # a list may not be possible if the server configuration has changed or more # than a few minutes have passed. The resourceVersion field returned when # using this continue value will be identical to the value in the first # response. # Corresponds to the JSON property `continue` # @return [String] attr_accessor :continue # String that identifies the server's internal version of this object that # can be used by clients to determine when objects have changed. Value must # be treated as opaque by clients and passed unmodified back to the server. # Populated by the system. # Read-only. # More info: # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency- # control-and-consistency # +optional # Corresponds to the JSON property `resourceVersion` # @return [String] attr_accessor :resource_version # SelfLink is a URL representing this object. # Populated by the system. # Read-only. # +optional # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @continue = args[:continue] if args.key?(:continue) @resource_version = args[:resource_version] if args.key?(:resource_version) @self_link = args[:self_link] if args.key?(:self_link) end end # ObjectMeta is metadata that all persisted resources must have, which includes # all objects users must create. class ObjectMeta include Google::Apis::Core::Hashable # Annotations is an unstructured key value map stored with a resource that # may be set by external tools to store and retrieve arbitrary metadata. They # are not queryable and should be preserved when modifying objects. More # info: http://kubernetes.io/docs/user-guide/annotations +optional # Corresponds to the JSON property `annotations` # @return [Hash] attr_accessor :annotations # Not currently supported by Cloud Run. # The name of the cluster which the object belongs to. # This is used to distinguish resources with same name and namespace in # different clusters. This field is not set anywhere right now and apiserver # is going to ignore it if set in create or update request. +optional # Corresponds to the JSON property `clusterName` # @return [String] attr_accessor :cluster_name # CreationTimestamp is a timestamp representing the server time when this # object was created. It is not guaranteed to be set in happens-before order # across separate operations. Clients may not set this value. It is # represented in RFC3339 form and is in UTC. # Populated by the system. # Read-only. # Null for lists. # More info: # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata # +optional # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Not currently supported by Cloud Run. # Number of seconds allowed for this object to gracefully terminate before # it will be removed from the system. Only set when deletionTimestamp is also # set. May only be shortened. Read-only. +optional # Corresponds to the JSON property `deletionGracePeriodSeconds` # @return [Fixnum] attr_accessor :deletion_grace_period_seconds # DeletionTimestamp is RFC 3339 date and time at which this resource will be # deleted. This field is set by the server when a graceful deletion is # requested by the user, and is not directly settable by a client. The # resource is expected to be deleted (no longer visible from resource lists, # and not reachable by name) after the time in this field, once the # finalizers list is empty. As long as the finalizers list contains items, # deletion is blocked. Once the deletionTimestamp is set, this value may not # be unset or be set further into the future, although it may be shortened or # the resource may be deleted prior to this time. For example, a user may # request that a pod is deleted in 30 seconds. The Kubelet will react by # sending a graceful termination signal to the containers in the pod. After # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) # to the container and after cleanup, remove the pod from the API. In the # presence of network partitions, this object may still exist after this # timestamp, until an administrator or automated process can determine the # resource is fully terminated. # If not set, graceful deletion of the object has not been requested. # Populated by the system when a graceful deletion is requested. # Read-only. # More info: # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata # +optional # Corresponds to the JSON property `deletionTimestamp` # @return [String] attr_accessor :deletion_timestamp # Not currently supported by Cloud Run. # Must be empty before the object is deleted from the registry. Each entry # is an identifier for the responsible component that will remove the entry # from the list. If the deletionTimestamp of the object is non-nil, entries # in this list can only be removed. # +optional # +patchStrategy=merge # Corresponds to the JSON property `finalizers` # @return [Array] attr_accessor :finalizers # Not currently supported by Cloud Run. # GenerateName is an optional prefix, used by the server, to generate a # unique name ONLY IF the Name field has not been provided. If this field is # used, the name returned to the client will be different than the name # passed. This value will also be combined with a unique suffix. The provided # value has the same validation rules as the Name field, and may be truncated # by the length of the suffix required to make the value unique on the # server. # If this field is specified and the generated name exists, the server will # NOT return a 409 - instead, it will either return 201 Created or 500 with # Reason ServerTimeout indicating a unique name could not be found in the # time allotted, and the client should retry (optionally after the time # indicated in the Retry-After header). # Applied only if Name is not specified. # More info: # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency # +optional # string generateName = 2; # Corresponds to the JSON property `generateName` # @return [String] attr_accessor :generate_name # A sequence number representing a specific generation of the desired state. # Populated by the system. Read-only. # +optional # Corresponds to the JSON property `generation` # @return [Fixnum] attr_accessor :generation # Initializers tracks the progress of initialization. # Corresponds to the JSON property `initializers` # @return [Google::Apis::RunV1beta1::Initializers] attr_accessor :initializers # Map of string keys and values that can be used to organize and categorize # (scope and select) objects. May match selectors of replication controllers # and routes. # More info: http://kubernetes.io/docs/user-guide/labels # +optional # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name must be unique within a namespace, within a Cloud Run region. # Is required when creating # resources, although some resources may allow a client to request the # generation of an appropriate name automatically. Name is primarily intended # for creation idempotence and configuration definition. Cannot be updated. # More info: http://kubernetes.io/docs/user-guide/identifiers#names # +optional # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Namespace defines the space within each name must be unique, within a # Cloud Run region. In Cloud Run the namespace must be equal to either the # project ID or project number. # Corresponds to the JSON property `namespace` # @return [String] attr_accessor :namespace # List of objects that own this object. If ALL objects in the list have # been deleted, this object will be garbage collected. # +optional # Corresponds to the JSON property `ownerReferences` # @return [Array] attr_accessor :owner_references # An opaque value that represents the internal version of this object that # can be used by clients to determine when objects have changed. May be used # for optimistic concurrency, change detection, and the watch operation on a # resource or set of resources. Clients must treat these values as opaque and # passed unmodified back to the server. They may only be valid for a # particular resource or set of resources. # Populated by the system. # Read-only. # Value must be treated as opaque by clients and . # More info: # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency- # control-and-consistency # +optional # Corresponds to the JSON property `resourceVersion` # @return [String] attr_accessor :resource_version # SelfLink is a URL representing this object. # Populated by the system. # Read-only. # +optional # string selfLink = 4; # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # UID is the unique in time and space value for this object. It is typically # generated by the server on successful creation of a resource and is not # allowed to change on PUT operations. # Populated by the system. # Read-only. # More info: http://kubernetes.io/docs/user-guide/identifiers#uids # +optional # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @annotations = args[:annotations] if args.key?(:annotations) @cluster_name = args[:cluster_name] if args.key?(:cluster_name) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deletion_grace_period_seconds = args[:deletion_grace_period_seconds] if args.key?(:deletion_grace_period_seconds) @deletion_timestamp = args[:deletion_timestamp] if args.key?(:deletion_timestamp) @finalizers = args[:finalizers] if args.key?(:finalizers) @generate_name = args[:generate_name] if args.key?(:generate_name) @generation = args[:generation] if args.key?(:generation) @initializers = args[:initializers] if args.key?(:initializers) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @namespace = args[:namespace] if args.key?(:namespace) @owner_references = args[:owner_references] if args.key?(:owner_references) @resource_version = args[:resource_version] if args.key?(:resource_version) @self_link = args[:self_link] if args.key?(:self_link) @uid = args[:uid] if args.key?(:uid) end end # OwnerReference contains enough information to let you identify an owning # object. Currently, an owning object must be in the same namespace, so there # is no namespace field. class OwnerReference include Google::Apis::Core::Hashable # API version of the referent. # Corresponds to the JSON property `apiVersion` # @return [String] attr_accessor :api_version # If true, AND if the owner has the "foregroundDeletion" finalizer, then # the owner cannot be deleted from the key-value store until this # reference is removed. # Defaults to false. # To set this field, a user needs "delete" permission of the owner, # otherwise 422 (Unprocessable Entity) will be returned. # +optional # Corresponds to the JSON property `blockOwnerDeletion` # @return [Boolean] attr_accessor :block_owner_deletion alias_method :block_owner_deletion?, :block_owner_deletion # If true, this reference points to the managing controller. # +optional # Corresponds to the JSON property `controller` # @return [Boolean] attr_accessor :controller alias_method :controller?, :controller # Kind of the referent. # More info: # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the referent. # More info: http://kubernetes.io/docs/user-guide/identifiers#names # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # UID of the referent. # More info: http://kubernetes.io/docs/user-guide/identifiers#uids # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_version = args[:api_version] if args.key?(:api_version) @block_owner_deletion = args[:block_owner_deletion] if args.key?(:block_owner_deletion) @controller = args[:controller] if args.key?(:controller) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @uid = args[:uid] if args.key?(:uid) end end end end end