# 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 ApigeeV1 # Message that represents an arbitrary HTTP body. It should only be used for # payload formats that can't be represented as JSON, such as raw binary or # an HTML page. # This message can be used both in streaming and non-streaming API methods in # the request as well as the response. # It can be used as a top-level request field, which is convenient if one # wants to extract parameters from either the URL or HTTP template into the # request fields and also want access to the raw HTTP body. # Example: # message GetResourceRequest ` # // A unique request id. # string request_id = 1; # // The raw HTTP body is bound to this field. # google.api.HttpBody http_body = 2; # ` # service ResourceService ` # rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); # rpc UpdateResource(google.api.HttpBody) returns # (google.protobuf.Empty); # ` # Example with streaming methods: # service CaldavService ` # rpc GetCalendar(stream google.api.HttpBody) # returns (stream google.api.HttpBody); # rpc UpdateCalendar(stream google.api.HttpBody) # returns (stream google.api.HttpBody); # ` # Use of this type only changes how the request and response bodies are # handled, all other features will continue to work unchanged. class GoogleApiHttpBody include Google::Apis::Core::Hashable # The HTTP Content-Type header value specifying the content type of the body. # Corresponds to the JSON property `contentType` # @return [String] attr_accessor :content_type # The HTTP request/response body as raw binary. # Corresponds to the JSON property `data` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :data # Application specific response metadata. Must be set in the first response # for streaming APIs. # Corresponds to the JSON property `extensions` # @return [Array>] attr_accessor :extensions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_type = args[:content_type] if args.key?(:content_type) @data = args[:data] if args.key?(:data) @extensions = args[:extensions] if args.key?(:extensions) end end # class GoogleCloudApigeeV1Access include Google::Apis::Core::Hashable # Get action. For example, # "Get" : ` # "name" : "target.name", # "value" : "default" # ` # Corresponds to the JSON property `Get` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AccessGet] attr_accessor :get # Remove action. For example, # "Remove" : ` # "name" : "target.name", # "success" : true # ` # Corresponds to the JSON property `Remove` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AccessRemove] attr_accessor :remove # Set action. For example, # "Set" : ` # "name" : "target.name", # "success" : true, # "value" : "default" # ` # Corresponds to the JSON property `Set` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AccessSet] attr_accessor :set def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @get = args[:get] if args.key?(:get) @remove = args[:remove] if args.key?(:remove) @set = args[:set] if args.key?(:set) end end # Get action. For example, # "Get" : ` # "name" : "target.name", # "value" : "default" # ` class GoogleCloudApigeeV1AccessGet include Google::Apis::Core::Hashable # # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @value = args[:value] if args.key?(:value) end end # Remove action. For example, # "Remove" : ` # "name" : "target.name", # "success" : true # ` class GoogleCloudApigeeV1AccessRemove include Google::Apis::Core::Hashable # # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # Corresponds to the JSON property `success` # @return [Boolean] attr_accessor :success alias_method :success?, :success def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @success = args[:success] if args.key?(:success) end end # Set action. For example, # "Set" : ` # "name" : "target.name", # "success" : true, # "value" : "default" # ` class GoogleCloudApigeeV1AccessSet include Google::Apis::Core::Hashable # # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # Corresponds to the JSON property `success` # @return [Boolean] attr_accessor :success alias_method :success?, :success # # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @success = args[:success] if args.key?(:success) @value = args[:value] if args.key?(:value) end end # A reference to a certificate or key, certificate pair. class GoogleCloudApigeeV1Alias include Google::Apis::Core::Hashable # The resource ID for this alias. Values must match regular expression # `[^/]`1,255``. # Corresponds to the JSON property `alias` # @return [String] attr_accessor :alias # The chain of certificates under this alias. # Corresponds to the JSON property `certsInfo` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1Certificate] attr_accessor :certs_info # The type of alias. # 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) @alias = args[:alias] if args.key?(:alias) @certs_info = args[:certs_info] if args.key?(:certs_info) @type = args[:type] if args.key?(:type) end end # class GoogleCloudApigeeV1AliasRevisionConfig include Google::Apis::Core::Hashable # The location of the alias file, e.g. a GCS URI. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # The name of the alias revision included in the keystore. Must be of the # form: # 'organizations/`org`/environments/`env`/keystores/`keystore`/aliases/`alias`/ # revisions/`rev`'. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # 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) @location = args[:location] if args.key?(:location) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end end # class GoogleCloudApigeeV1ApiProduct include Google::Apis::Core::Hashable # Comma-separated list of API resources to be bundled in the API Product. # By default, the resource paths are mapped from the `proxy.pathsuffix` # variable. # The proxy path suffix is defined as the URI fragment following the # ProxyEndpoint base path. # For example, if the `apiResources` element is defined to be # `/forecastrss` and the base path defined for the API proxy is # `/weather`, then only requests to `/weather/forecastrss` are permitted by # the API product. # You can select a specific path, or you can select all subpaths with the # following wildcard: # - /**: Indicates that all sub-URIs are included. # - /* : Indicates that only URIs one level down are included. # By default, / supports the same resources as /** as well as the base path # defined by the API proxy. # For example, if the base path of the API proxy is `/v1/weatherapikey`, # then the API product supports requests to `/v1/weatherapikey` and to any # sub-URIs, such as `/v1/weatherapikey/forecastrss`, # `/v1/weatherapikey/region/CA`, and so on. # For more information, see: # - Manage API # products # - Managing # a transaction recording policy using the API # Corresponds to the JSON property `apiResources` # @return [Array] attr_accessor :api_resources # Specifies how API keys are approved to access the APIs defined by the API # product. # If set to `manual`, the consumer key is generated and returned in "pending" # state. In this case, the API keys won't work until they have been # explicitly approved. # If set to `auto`, the consumer key is generated and returned in "approved" # state and can be used immediately. # # Corresponds to the JSON property `approvalType` # @return [String] attr_accessor :approval_type # Array of attributes that may be used to extend the default API product # profile with customer-specific metadata. You can specify a maximum of 18 # attributes. # Use this property to specify the access level of the API product as either # `public`, `private`, or `internal`. # Only products marked `public` are available to developers in the Apigee # developer portal. For example, you can set a product to `internal` while it # is in development and then change access to `public` when it is ready to # release on the portal. # API products marked as `private` do not appear on the portal but # can be accessed by external developers. # For monetization, you can use the attributes field to: # - Specify transaction success criteria # - Specify custom attributes on which you base rate plan # charges. # Corresponds to the JSON property `attributes` # @return [Array] attr_accessor :attributes # Response only. Creation time of this environment as milliseconds since # epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # An overview of the API product. Include key information about the API # product that is not captured by other fields. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The name to be displayed in the UI or developer portal to developers # registering for API access. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # A comma-separated list of environment names to which the API product is # bound. Requests to environments that are not listed are rejected. # By specifying one or more environments, you can bind the resources listed # in the API product to a specific environment, preventing developers from # accessing those resources through API proxies deployed in another # environment. # This setting is used, for example, to prevent resources associated with # API proxies in 'prod' from being accessed by API proxies deployed in # 'test'. # Corresponds to the JSON property `environments` # @return [Array] attr_accessor :environments # Response only. Modified time of this environment as milliseconds since # epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # The internal name of the API Product. Characters you can use in the name # are restricted to: A-Z0-9._\-$ %. # # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A comma-separated list of API proxy names to which this API product is # bound. By specifying API proxies, you can associate resources in the API # product with specific API proxies, preventing developers from accessing # those resources through other API proxies. # Edge rejects requests to API proxies that are not listed. # # Corresponds to the JSON property `proxies` # @return [Array] attr_accessor :proxies # The number of request messages permitted per app by this API product for # the specified `quotaInterval` and `quotaTimeUnit`. # For example, a `quota` of 50, for a `quotaInterval` of 12 and a # `quotaTimeUnit` of hours means 50 requests are allowed every 12 hours. # Corresponds to the JSON property `quota` # @return [String] attr_accessor :quota # The time interval over which the number of request messages is calculated. # Corresponds to the JSON property `quotaInterval` # @return [String] attr_accessor :quota_interval # The time unit defined for the `quotaInterval`. Valid values include minute, # hour, day, or month. # Corresponds to the JSON property `quotaTimeUnit` # @return [String] attr_accessor :quota_time_unit # A comma-separated list of OAuth scopes that are validated at runtime. # Edge validates that the scopes in any access token presented match the # scopes defined in the OAuth policy assoicated with the API product. # Corresponds to the JSON property `scopes` # @return [Array] attr_accessor :scopes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_resources = args[:api_resources] if args.key?(:api_resources) @approval_type = args[:approval_type] if args.key?(:approval_type) @attributes = args[:attributes] if args.key?(:attributes) @created_at = args[:created_at] if args.key?(:created_at) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @environments = args[:environments] if args.key?(:environments) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) @proxies = args[:proxies] if args.key?(:proxies) @quota = args[:quota] if args.key?(:quota) @quota_interval = args[:quota_interval] if args.key?(:quota_interval) @quota_time_unit = args[:quota_time_unit] if args.key?(:quota_time_unit) @scopes = args[:scopes] if args.key?(:scopes) end end # class GoogleCloudApigeeV1ApiProductRef include Google::Apis::Core::Hashable # Name of the API product. # Corresponds to the JSON property `apiproduct` # @return [String] attr_accessor :apiproduct # Status of the API product. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @apiproduct = args[:apiproduct] if args.key?(:apiproduct) @status = args[:status] if args.key?(:status) end end # Metadata describing the API proxy class GoogleCloudApigeeV1ApiProxy include Google::Apis::Core::Hashable # The id of the most recently created revision for this api proxy. # Corresponds to the JSON property `latestRevisionId` # @return [String] attr_accessor :latest_revision_id # Metadata common to many entities in this API. # Corresponds to the JSON property `metaData` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1EntityMetadata] attr_accessor :meta_data # Name of the API proxy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of revisons defined for the API proxy. # Corresponds to the JSON property `revision` # @return [Array] attr_accessor :revision def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @latest_revision_id = args[:latest_revision_id] if args.key?(:latest_revision_id) @meta_data = args[:meta_data] if args.key?(:meta_data) @name = args[:name] if args.key?(:name) @revision = args[:revision] if args.key?(:revision) end end # API proxy revision. class GoogleCloudApigeeV1ApiProxyRevision include Google::Apis::Core::Hashable # Base URL of the API proxy. # Corresponds to the JSON property `basepaths` # @return [Array] attr_accessor :basepaths # Version of the API proxy configuration schema. Currently, only 4.0 is # supported. # Corresponds to the JSON property `configurationVersion` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ConfigVersion] attr_accessor :configuration_version # Revision number, app name, and organization for the API proxy. # Corresponds to the JSON property `contextInfo` # @return [String] attr_accessor :context_info # Time that the API proxy revision was created in milliseconds since # epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Description of the API proxy revision. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Human-readable name of the API proxy. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Metadata describing the API proxy revision as a key-value map. # Corresponds to the JSON property `entityMetaDataAsProperties` # @return [Hash] attr_accessor :entity_meta_data_as_properties # Time that the API proxy revision was last modified in # milliseconds since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Name of the API proxy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of policy names included in the API proxy revision.. # Corresponds to the JSON property `policies` # @return [Array] attr_accessor :policies # List of proxy names included in the API proxy revision. # Corresponds to the JSON property `proxies` # @return [Array] attr_accessor :proxies # List of ProxyEndpoints in the `/proxies` directory of the API proxy. # Typically, this element is included only when the API proxy was created # using the Edge UI. This is a 'manifest' setting designed to # provide visibility into the contents of the API proxy. # Corresponds to the JSON property `proxyEndpoints` # @return [Array] attr_accessor :proxy_endpoints # List of resource files. # Corresponds to the JSON property `resourceFiles` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ResourceFiles] attr_accessor :resource_files # List of the resources included in the API proxy revision formatted as # "`type`://`name`". # Corresponds to the JSON property `resources` # @return [Array] attr_accessor :resources # API proxy revision. # Corresponds to the JSON property `revision` # @return [String] attr_accessor :revision # List of the shared flows included in the API proxy revision. # Corresponds to the JSON property `sharedFlows` # @return [Array] attr_accessor :shared_flows # OpenAPI Specification that is associated with the API proxy. # The value is set to a URL or to a path in the specification store. # Corresponds to the JSON property `spec` # @return [String] attr_accessor :spec # List of TargetEndpoints in the `/targets` directory of the API proxy. # Typically, this element is included only when the API proxy was created # using the Edge UI. This is a 'manifest' setting designed to # provide visibility into the contents of the API proxy. # Corresponds to the JSON property `targetEndpoints` # @return [Array] attr_accessor :target_endpoints # List of TargetServers referenced in any TargetEndpoint in the API # proxy. Typically, you will see this element only when the API proxy was # created using the Edge UI. This is a 'manifest' setting # designed to provide visibility into the contents of the API proxy. # Corresponds to the JSON property `targetServers` # @return [Array] attr_accessor :target_servers # List of the targets included in the API proxy revision. # Corresponds to the JSON property `targets` # @return [Array] attr_accessor :targets # List of the teams included in the API proxy revision. # Corresponds to the JSON property `teams` # @return [Array] attr_accessor :teams # Type. Set to `Application`. Maintained for compatibility with # the Apigee Edge API. # 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) @basepaths = args[:basepaths] if args.key?(:basepaths) @configuration_version = args[:configuration_version] if args.key?(:configuration_version) @context_info = args[:context_info] if args.key?(:context_info) @created_at = args[:created_at] if args.key?(:created_at) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @entity_meta_data_as_properties = args[:entity_meta_data_as_properties] if args.key?(:entity_meta_data_as_properties) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) @policies = args[:policies] if args.key?(:policies) @proxies = args[:proxies] if args.key?(:proxies) @proxy_endpoints = args[:proxy_endpoints] if args.key?(:proxy_endpoints) @resource_files = args[:resource_files] if args.key?(:resource_files) @resources = args[:resources] if args.key?(:resources) @revision = args[:revision] if args.key?(:revision) @shared_flows = args[:shared_flows] if args.key?(:shared_flows) @spec = args[:spec] if args.key?(:spec) @target_endpoints = args[:target_endpoints] if args.key?(:target_endpoints) @target_servers = args[:target_servers] if args.key?(:target_servers) @targets = args[:targets] if args.key?(:targets) @teams = args[:teams] if args.key?(:teams) @type = args[:type] if args.key?(:type) end end # class GoogleCloudApigeeV1App include Google::Apis::Core::Hashable # List of API products associated with the app. # Corresponds to the JSON property `apiProducts` # @return [Array] attr_accessor :api_products # ID of the app. # Corresponds to the JSON property `appId` # @return [String] attr_accessor :app_id # List of attributes. # Corresponds to the JSON property `attributes` # @return [Array] attr_accessor :attributes # Callback URL used by OAuth 2.0 authorization servers to communicate # authorization codes back to apps. # Corresponds to the JSON property `callbackUrl` # @return [String] attr_accessor :callback_url # Name of the company that owns the app. # Corresponds to the JSON property `companyName` # @return [String] attr_accessor :company_name # Output only. Unix time when the app was created. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Output only. Set of credentials for the app. Credentials are API # key/secret pairs associated with API products. # Corresponds to the JSON property `credentials` # @return [Array] attr_accessor :credentials # ID of the developer. # Corresponds to the JSON property `developerId` # @return [String] attr_accessor :developer_id # Duration, in milliseconds, of the consumer key that will # be generated for the app. The default value, -1, indicates an # infinite validity period. Once set, the expiration can't be updated. # json key: keyExpiresIn # Corresponds to the JSON property `keyExpiresIn` # @return [Fixnum] attr_accessor :key_expires_in # Output only. Last modified time as milliseconds since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Name of the app. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Scopes to apply to the app. The specified scope names must already # exist on the API product that you associate with the app. # Corresponds to the JSON property `scopes` # @return [Array] attr_accessor :scopes # Status of the credential. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_products = args[:api_products] if args.key?(:api_products) @app_id = args[:app_id] if args.key?(:app_id) @attributes = args[:attributes] if args.key?(:attributes) @callback_url = args[:callback_url] if args.key?(:callback_url) @company_name = args[:company_name] if args.key?(:company_name) @created_at = args[:created_at] if args.key?(:created_at) @credentials = args[:credentials] if args.key?(:credentials) @developer_id = args[:developer_id] if args.key?(:developer_id) @key_expires_in = args[:key_expires_in] if args.key?(:key_expires_in) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) @scopes = args[:scopes] if args.key?(:scopes) @status = args[:status] if args.key?(:status) end end # class GoogleCloudApigeeV1AsyncQuery include Google::Apis::Core::Hashable # Creation time of the query. # Corresponds to the JSON property `created` # @return [String] attr_accessor :created # Error is set when query fails. # Corresponds to the JSON property `error` # @return [String] attr_accessor :error # ExecutionTime is available only after the query is completed. # Corresponds to the JSON property `executionTime` # @return [String] attr_accessor :execution_time # Asynchronous Query Name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Contains information like metrics, dimenstions etc of the AsyncQuery. # Corresponds to the JSON property `queryParams` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1QueryMetadata] attr_accessor :query_params # Asynchronous Report ID. # Corresponds to the JSON property `reportDefinitionId` # @return [String] attr_accessor :report_definition_id # Result is available only after the query is completed. # Corresponds to the JSON property `result` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AsyncQueryResult] attr_accessor :result # ResultFileSize is available only after the query is completed. # Corresponds to the JSON property `resultFileSize` # @return [String] attr_accessor :result_file_size # ResultRows is available only after the query is completed. # Corresponds to the JSON property `resultRows` # @return [Fixnum] attr_accessor :result_rows # Self link of the query. # Example: # `/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f- # 318d0cb961bd` # Corresponds to the JSON property `self` # @return [String] attr_accessor :self # Query state could be "enqueued", "running", "completed", "failed". # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Last updated timestamp for the query. # Corresponds to the JSON property `updated` # @return [String] attr_accessor :updated def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created = args[:created] if args.key?(:created) @error = args[:error] if args.key?(:error) @execution_time = args[:execution_time] if args.key?(:execution_time) @name = args[:name] if args.key?(:name) @query_params = args[:query_params] if args.key?(:query_params) @report_definition_id = args[:report_definition_id] if args.key?(:report_definition_id) @result = args[:result] if args.key?(:result) @result_file_size = args[:result_file_size] if args.key?(:result_file_size) @result_rows = args[:result_rows] if args.key?(:result_rows) @self = args[:self] if args.key?(:self) @state = args[:state] if args.key?(:state) @updated = args[:updated] if args.key?(:updated) end end # class GoogleCloudApigeeV1AsyncQueryResult include Google::Apis::Core::Hashable # Query result will be unaccessable after this time. # Corresponds to the JSON property `expires` # @return [String] attr_accessor :expires # Self link of the query results. # Example: # `/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f- # 318d0cb961bd/result` # Corresponds to the JSON property `self` # @return [String] attr_accessor :self def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expires = args[:expires] if args.key?(:expires) @self = args[:self] if args.key?(:self) end end # Key-value pair to store extra metadata. class GoogleCloudApigeeV1Attribute include Google::Apis::Core::Hashable # API key of the attribute. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Value of the attribute. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @value = args[:value] if args.key?(:value) end end # class GoogleCloudApigeeV1Attributes include Google::Apis::Core::Hashable # List of attributes. # Corresponds to the JSON property `attribute` # @return [Array] attr_accessor :attribute def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attribute = args[:attribute] if args.key?(:attribute) end end # An X.509 certificate as defined in RFC 5280. class GoogleCloudApigeeV1CertInfo include Google::Apis::Core::Hashable # The X.509 basic constraints extension. # Corresponds to the JSON property `basicConstraints` # @return [String] attr_accessor :basic_constraints # The X.509 validity / notAfter in milliseconds since the epoch. # Corresponds to the JSON property `expiryDate` # @return [Fixnum] attr_accessor :expiry_date # "Yes" if certificate is valid, "No" if expired and "Not yet" # if not yet valid. # Corresponds to the JSON property `isValid` # @return [String] attr_accessor :is_valid # The X.509 issuer. # Corresponds to the JSON property `issuer` # @return [String] attr_accessor :issuer # The public key component of the X.509 subject public key info. # Corresponds to the JSON property `publicKey` # @return [String] attr_accessor :public_key # The X.509 serial number. # Corresponds to the JSON property `serialNumber` # @return [String] attr_accessor :serial_number # The X.509 signatureAlgorithm. # Corresponds to the JSON property `sigAlgName` # @return [String] attr_accessor :sig_alg_name # The X.509 subject. # Corresponds to the JSON property `subject` # @return [String] attr_accessor :subject # The X.509 subject alternative names (SANs) extension. # Corresponds to the JSON property `subjectAlternativeNames` # @return [Array] attr_accessor :subject_alternative_names # The X.509 validity / notBefore in milliseconds since the # epoch. # Corresponds to the JSON property `validFrom` # @return [Fixnum] attr_accessor :valid_from # The X.509 version. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @basic_constraints = args[:basic_constraints] if args.key?(:basic_constraints) @expiry_date = args[:expiry_date] if args.key?(:expiry_date) @is_valid = args[:is_valid] if args.key?(:is_valid) @issuer = args[:issuer] if args.key?(:issuer) @public_key = args[:public_key] if args.key?(:public_key) @serial_number = args[:serial_number] if args.key?(:serial_number) @sig_alg_name = args[:sig_alg_name] if args.key?(:sig_alg_name) @subject = args[:subject] if args.key?(:subject) @subject_alternative_names = args[:subject_alternative_names] if args.key?(:subject_alternative_names) @valid_from = args[:valid_from] if args.key?(:valid_from) @version = args[:version] if args.key?(:version) end end # class GoogleCloudApigeeV1Certificate include Google::Apis::Core::Hashable # The chain of certificates under this name. # Corresponds to the JSON property `certInfo` # @return [Array] attr_accessor :cert_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cert_info = args[:cert_info] if args.key?(:cert_info) end end # class GoogleCloudApigeeV1CommonNameConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `matchWildCards` # @return [Boolean] attr_accessor :match_wild_cards alias_method :match_wild_cards?, :match_wild_cards # # 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) @match_wild_cards = args[:match_wild_cards] if args.key?(:match_wild_cards) @name = args[:name] if args.key?(:name) end end # Version of the API proxy configuration schema. Currently, only 4.0 is # supported. class GoogleCloudApigeeV1ConfigVersion include Google::Apis::Core::Hashable # Major version of the API proxy configuration schema. # Corresponds to the JSON property `majorVersion` # @return [Fixnum] attr_accessor :major_version # Minor version of the API proxy configuration schema. # Corresponds to the JSON property `minorVersion` # @return [Fixnum] attr_accessor :minor_version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @major_version = args[:major_version] if args.key?(:major_version) @minor_version = args[:minor_version] if args.key?(:minor_version) end end # class GoogleCloudApigeeV1Credential include Google::Apis::Core::Hashable # List of API products this credential can be used for. # Corresponds to the JSON property `apiProducts` # @return [Array] attr_accessor :api_products # List of attributes associated with this credential. # Corresponds to the JSON property `attributes` # @return [Array] attr_accessor :attributes # Consumer key. # Corresponds to the JSON property `consumerKey` # @return [String] attr_accessor :consumer_key # Secret key. # Corresponds to the JSON property `consumerSecret` # @return [String] attr_accessor :consumer_secret # Time the credential will expire in milliseconds since epoch. # Corresponds to the JSON property `expiresAt` # @return [Fixnum] attr_accessor :expires_at # Time the credential was issued in milliseconds since epoch. # Corresponds to the JSON property `issuedAt` # @return [Fixnum] attr_accessor :issued_at # List of scopes to apply to the app. Specified scopes must already # exist on the API product that you associate with the app. # Corresponds to the JSON property `scopes` # @return [Array] attr_accessor :scopes # Status of the credential. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_products = args[:api_products] if args.key?(:api_products) @attributes = args[:attributes] if args.key?(:attributes) @consumer_key = args[:consumer_key] if args.key?(:consumer_key) @consumer_secret = args[:consumer_secret] if args.key?(:consumer_secret) @expires_at = args[:expires_at] if args.key?(:expires_at) @issued_at = args[:issued_at] if args.key?(:issued_at) @scopes = args[:scopes] if args.key?(:scopes) @status = args[:status] if args.key?(:status) end end # class GoogleCloudApigeeV1CustomReport include Google::Apis::Core::Hashable # This field contains the chart type for the report # Corresponds to the JSON property `chartType` # @return [String] attr_accessor :chart_type # Legacy field: not used. This field contains a list of comments associated # with custom report # Corresponds to the JSON property `comments` # @return [Array] attr_accessor :comments # Output only. Unix time when the app was created # json key: createdAt # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # This contains the list of dimensions for the report # Corresponds to the JSON property `dimensions` # @return [Array] attr_accessor :dimensions # This is the display name for the report # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. Environment name # Corresponds to the JSON property `environment` # @return [String] attr_accessor :environment # This field contains the filter expression # Corresponds to the JSON property `filter` # @return [String] attr_accessor :filter # Legacy field: not used. Contains the from time for the report # Corresponds to the JSON property `fromTime` # @return [String] attr_accessor :from_time # Output only. Modified time of this entity as milliseconds since epoch. # json key: lastModifiedAt # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Output only. Last viewed time of this entity as milliseconds since epoch # Corresponds to the JSON property `lastViewedAt` # @return [Fixnum] attr_accessor :last_viewed_at # Legacy field: not used This field contains the limit for the result # retrieved # Corresponds to the JSON property `limit` # @return [String] attr_accessor :limit # Required. This contains the list of metrics # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # Required. Unique identifier for the report # T his is a legacy field used to encode custom report unique id # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Legacy field: not used. This field contains the offset for the data # Corresponds to the JSON property `offset` # @return [String] attr_accessor :offset # Output only. Organization name # Corresponds to the JSON property `organization` # @return [String] attr_accessor :organization # This field contains report properties such as ui metadata etc. # Corresponds to the JSON property `properties` # @return [Array] attr_accessor :properties # Legacy field: not used much. Contains the list of sort by columns # Corresponds to the JSON property `sortByCols` # @return [Array] attr_accessor :sort_by_cols # Legacy field: not used much. Contains the sort order for the sort columns # Corresponds to the JSON property `sortOrder` # @return [String] attr_accessor :sort_order # Legacy field: not used. This field contains a list of tags associated with # custom report # Corresponds to the JSON property `tags` # @return [Array] attr_accessor :tags # This field contains the time unit of aggregation for the report # Corresponds to the JSON property `timeUnit` # @return [String] attr_accessor :time_unit # Legacy field: not used. Contains the end time for the report # Corresponds to the JSON property `toTime` # @return [String] attr_accessor :to_time # Legacy field: not used. This field contains the top k parameter value # for restricting the result # Corresponds to the JSON property `topk` # @return [String] attr_accessor :topk def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chart_type = args[:chart_type] if args.key?(:chart_type) @comments = args[:comments] if args.key?(:comments) @created_at = args[:created_at] if args.key?(:created_at) @dimensions = args[:dimensions] if args.key?(:dimensions) @display_name = args[:display_name] if args.key?(:display_name) @environment = args[:environment] if args.key?(:environment) @filter = args[:filter] if args.key?(:filter) @from_time = args[:from_time] if args.key?(:from_time) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @last_viewed_at = args[:last_viewed_at] if args.key?(:last_viewed_at) @limit = args[:limit] if args.key?(:limit) @metrics = args[:metrics] if args.key?(:metrics) @name = args[:name] if args.key?(:name) @offset = args[:offset] if args.key?(:offset) @organization = args[:organization] if args.key?(:organization) @properties = args[:properties] if args.key?(:properties) @sort_by_cols = args[:sort_by_cols] if args.key?(:sort_by_cols) @sort_order = args[:sort_order] if args.key?(:sort_order) @tags = args[:tags] if args.key?(:tags) @time_unit = args[:time_unit] if args.key?(:time_unit) @to_time = args[:to_time] if args.key?(:to_time) @topk = args[:topk] if args.key?(:topk) end end # This encapsulates a metric property of the form sum(message_count) # where name is message_count and function is sum class GoogleCloudApigeeV1CustomReportMetric include Google::Apis::Core::Hashable # aggregate function # Corresponds to the JSON property `function` # @return [String] attr_accessor :function # name of the metric # 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) @function = args[:function] if args.key?(:function) @name = args[:name] if args.key?(:name) end end # A DataCollector and its configuration. class GoogleCloudApigeeV1DataCollectorConfig include Google::Apis::Core::Hashable # The name of the data collector. Must be of the form # 'organizations/`org`/datacollectors/`dc`'. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The data type this DataCollector accepts. # 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) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end end # The data store defines the connection to export data repository # (Cloud Storage, BigQuery), including the credentials used to access the data # repository. class GoogleCloudApigeeV1Datastore include Google::Apis::Core::Hashable # Output only. Datastore create time, in milliseconds since the epoch # of 1970-01-01T00:00:00Z # Corresponds to the JSON property `createTime` # @return [Fixnum] attr_accessor :create_time # Configuration detail for datastore # Corresponds to the JSON property `datastoreConfig` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1DatastoreConfig] attr_accessor :datastore_config # Required. Display name in UI # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. Datastore last update time, in milliseconds since the epoch # of 1970-01-01T00:00:00Z # Corresponds to the JSON property `lastUpdateTime` # @return [Fixnum] attr_accessor :last_update_time # Output only. Organization that the datastore belongs to # Corresponds to the JSON property `org` # @return [String] attr_accessor :org # Output only. Resource link of Datastore. # Example: `/organizations/`org`/analytics/datastores/`uuid`` # Corresponds to the JSON property `self` # @return [String] attr_accessor :self # Destination storage type. # Supported types `gcs` or `bigquery`. # Corresponds to the JSON property `targetType` # @return [String] attr_accessor :target_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @datastore_config = args[:datastore_config] if args.key?(:datastore_config) @display_name = args[:display_name] if args.key?(:display_name) @last_update_time = args[:last_update_time] if args.key?(:last_update_time) @org = args[:org] if args.key?(:org) @self = args[:self] if args.key?(:self) @target_type = args[:target_type] if args.key?(:target_type) end end # Configuration detail for datastore class GoogleCloudApigeeV1DatastoreConfig include Google::Apis::Core::Hashable # Name of the Cloud Storage bucket. # Required for `gcs` target_type. # Corresponds to the JSON property `bucketName` # @return [String] attr_accessor :bucket_name # BigQuery dataset name # Required for `bigquery` target_type. # Corresponds to the JSON property `datasetName` # @return [String] attr_accessor :dataset_name # Path of Cloud Storage bucket # Required for `gcs` target_type. # Corresponds to the JSON property `path` # @return [String] attr_accessor :path # Required. GCP project in which the datastore exists # Corresponds to the JSON property `projectId` # @return [String] attr_accessor :project_id # Prefix of BigQuery table # Required for `bigquery` target_type. # Corresponds to the JSON property `tablePrefix` # @return [String] attr_accessor :table_prefix def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bucket_name = args[:bucket_name] if args.key?(:bucket_name) @dataset_name = args[:dataset_name] if args.key?(:dataset_name) @path = args[:path] if args.key?(:path) @project_id = args[:project_id] if args.key?(:project_id) @table_prefix = args[:table_prefix] if args.key?(:table_prefix) end end # Date range of the data to export. class GoogleCloudApigeeV1DateRange include Google::Apis::Core::Hashable # Required. End date (exclusive) of the data to export in the format `yyyy-mm-dd` # . # The date range ends at 00:00:00 UTC on the end date- which will not be in # the output. # Corresponds to the JSON property `end` # @return [String] attr_accessor :end # Required. Start date of the data to export in the format `yyyy-mm-dd`. # The date range begins at 00:00:00 UTC on the start date. # Corresponds to the JSON property `start` # @return [String] attr_accessor :start def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end = args[:end] if args.key?(:end) @start = args[:start] if args.key?(:start) end end # class GoogleCloudApigeeV1DebugMask include Google::Apis::Core::Hashable # List of JSON paths that specify the JSON elements to be filtered from JSON # payloads in error flows. # Corresponds to the JSON property `faultJSONPaths` # @return [Array] attr_accessor :fault_json_paths # List of XPaths that specify the XML elements to be filtered from XML # payloads in error flows. # Corresponds to the JSON property `faultXPaths` # @return [Array] attr_accessor :fault_x_paths # Name of the debug mask. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Map of namespaces to URIs. # Corresponds to the JSON property `namespaces` # @return [Hash] attr_accessor :namespaces # List of JSON paths that specify the JSON elements to be filtered from JSON # request message payloads. # Corresponds to the JSON property `requestJSONPaths` # @return [Array] attr_accessor :request_json_paths # List of XPaths that specify the XML elements to be filtered from XML # request message payloads. # Corresponds to the JSON property `requestXPaths` # @return [Array] attr_accessor :request_x_paths # List of JSON paths that specify the JSON elements to be filtered from JSON # response message payloads. # Corresponds to the JSON property `responseJSONPaths` # @return [Array] attr_accessor :response_json_paths # List of XPaths that specify the XML elements to be filtered from XML # response message payloads. # Corresponds to the JSON property `responseXPaths` # @return [Array] attr_accessor :response_x_paths # List of variables that should be masked from the debug output. # Corresponds to the JSON property `variables` # @return [Array] attr_accessor :variables def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fault_json_paths = args[:fault_json_paths] if args.key?(:fault_json_paths) @fault_x_paths = args[:fault_x_paths] if args.key?(:fault_x_paths) @name = args[:name] if args.key?(:name) @namespaces = args[:namespaces] if args.key?(:namespaces) @request_json_paths = args[:request_json_paths] if args.key?(:request_json_paths) @request_x_paths = args[:request_x_paths] if args.key?(:request_x_paths) @response_json_paths = args[:response_json_paths] if args.key?(:response_json_paths) @response_x_paths = args[:response_x_paths] if args.key?(:response_x_paths) @variables = args[:variables] if args.key?(:variables) end end # class GoogleCloudApigeeV1DebugSession include Google::Apis::Core::Hashable # Optional. The number of request to be traced. Min = 1, Max = 15, Default # = 10. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Optional. A conditional statement which is evaluated against the request # message to determine if it should be traced. Syntax matches that of on # API Proxy bundle flow Condition. # Corresponds to the JSON property `filter` # @return [String] attr_accessor :filter # A unique ID for this DebugSession. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Optional. The time in seconds after which this DebugSession should end. # This value will override the value in query param, if both are provided. # Corresponds to the JSON property `timeout` # @return [Fixnum] attr_accessor :timeout # Optional. The maximum number of bytes captured from the response payload. # Min = 0, Max = 5120, Default = 5120. # Corresponds to the JSON property `tracesize` # @return [Fixnum] attr_accessor :tracesize # Optional. The length of time, in seconds, that this debug session is valid, # starting from when it's received in the control plane. Min = 1, Max = 15, # Default = 10. # Corresponds to the JSON property `validity` # @return [Fixnum] attr_accessor :validity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @filter = args[:filter] if args.key?(:filter) @name = args[:name] if args.key?(:name) @timeout = args[:timeout] if args.key?(:timeout) @tracesize = args[:tracesize] if args.key?(:tracesize) @validity = args[:validity] if args.key?(:validity) end end # A transaction contains all of the debug information of the entire message # flow of an API call processed by the runtime plane. The information is # collected and recorded at critical points of the message flow in the runtime # apiproxy. class GoogleCloudApigeeV1DebugSessionTransaction include Google::Apis::Core::Hashable # Flag indicating whether a transaction is completed or not # Corresponds to the JSON property `completed` # @return [Boolean] attr_accessor :completed alias_method :completed?, :completed # List of debug data collected by runtime plane at various defined points in # the flow. # Corresponds to the JSON property `point` # @return [Array] attr_accessor :point def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @completed = args[:completed] if args.key?(:completed) @point = args[:point] if args.key?(:point) end end # class GoogleCloudApigeeV1DeleteCustomReportResponse include Google::Apis::Core::Hashable # The response contains only a message field. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @message = args[:message] if args.key?(:message) end end # class GoogleCloudApigeeV1Deployment include Google::Apis::Core::Hashable # API proxy. # Corresponds to the JSON property `apiProxy` # @return [String] attr_accessor :api_proxy # Base path for the deployment. # Corresponds to the JSON property `basePath` # @return [String] attr_accessor :base_path # Time the API proxy was marked `deployed` in the control plane in # millisconds since epoch. # Corresponds to the JSON property `deployStartTime` # @return [Fixnum] attr_accessor :deploy_start_time # Environment. # Corresponds to the JSON property `environment` # @return [String] attr_accessor :environment # Errors reported for this deployment. Populated only when state == ERROR. # This field is not populated in List APIs. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors # Status reported by each runtime instance. # This field is not populated in List APIs. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # Status reported by runtime pods. This field is not populated for List # APIs. # Corresponds to the JSON property `pods` # @return [Array] attr_accessor :pods # API proxy revision. # Corresponds to the JSON property `revision` # @return [String] attr_accessor :revision # Conflicts in the desired state routing configuration. The presence of # conflicts does not cause the state to be ERROR, but it will mean that # some of the deployments basepaths are not routed to its environment. If # the conflicts change, the state will transition to PROGRESSING until the # latest configuration is rolled out to all instances. # This field is not populated in List APIs. # Corresponds to the JSON property `routeConflicts` # @return [Array] attr_accessor :route_conflicts # Current state of the deployment. # This field is not populated in List APIs. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_proxy = args[:api_proxy] if args.key?(:api_proxy) @base_path = args[:base_path] if args.key?(:base_path) @deploy_start_time = args[:deploy_start_time] if args.key?(:deploy_start_time) @environment = args[:environment] if args.key?(:environment) @errors = args[:errors] if args.key?(:errors) @instances = args[:instances] if args.key?(:instances) @pods = args[:pods] if args.key?(:pods) @revision = args[:revision] if args.key?(:revision) @route_conflicts = args[:route_conflicts] if args.key?(:route_conflicts) @state = args[:state] if args.key?(:state) end end # Response for # GenerateDeployChangeReport # and # GenerateUndeployChangeReport. # This report contains any validation failures that would cause the deployment # to be rejected, as well changes and conflicts in routing that may occur due # to the new deployment. # The existence of a routing warning does not necessarily imply that the # deployment request is bad, if the desired state of the deployment request is # to effect a routing change. The primary purposes of the routing messages are: # 1) To inform users of routing changes that may have an effect on traffic # currently being routed to other existing deployments. # 2) To warn users if some basepath in the proxy will not receive traffic due # to an existing deployment having already claimed that basepath. # The presence of routing conflicts/changes will not cause non-dry-run # DeployApiProxy/UndeployApiProxy requests to be rejected. class GoogleCloudApigeeV1DeploymentChangeReport include Google::Apis::Core::Hashable # All routing changes that may result from a deployment request. # Corresponds to the JSON property `routingChanges` # @return [Array] attr_accessor :routing_changes # All basepath conflicts detected for a deployment request. # Corresponds to the JSON property `routingConflicts` # @return [Array] attr_accessor :routing_conflicts # Describes what preconditions have failed. # For example, if an RPC failed because it required the Terms of Service to be # acknowledged, it could list the terms of service violation in the # PreconditionFailure message. # Corresponds to the JSON property `validationErrors` # @return [Google::Apis::ApigeeV1::GoogleRpcPreconditionFailure] attr_accessor :validation_errors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @routing_changes = args[:routing_changes] if args.key?(:routing_changes) @routing_conflicts = args[:routing_conflicts] if args.key?(:routing_conflicts) @validation_errors = args[:validation_errors] if args.key?(:validation_errors) end end # Describes a potential routing change that may occur as a result # of some deployment operation. class GoogleCloudApigeeV1DeploymentChangeReportRoutingChange include Google::Apis::Core::Hashable # A human-readable description of this routing change. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The name of the environment group affected by this routing change. # Corresponds to the JSON property `environmentGroup` # @return [String] attr_accessor :environment_group # A tuple representing a basepath and the deployment containing it. # Corresponds to the JSON property `fromDeployment` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment] attr_accessor :from_deployment # True if using sequenced rollout would make this routing change safer. # Note: this does not necessarily imply that automated sequenced rollout # mode is supported for the operation. # Corresponds to the JSON property `shouldSequenceRollout` # @return [Boolean] attr_accessor :should_sequence_rollout alias_method :should_sequence_rollout?, :should_sequence_rollout # A tuple representing a basepath and the deployment containing it. # Corresponds to the JSON property `toDeployment` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment] attr_accessor :to_deployment def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @environment_group = args[:environment_group] if args.key?(:environment_group) @from_deployment = args[:from_deployment] if args.key?(:from_deployment) @should_sequence_rollout = args[:should_sequence_rollout] if args.key?(:should_sequence_rollout) @to_deployment = args[:to_deployment] if args.key?(:to_deployment) end end # Describes a routing conflict that may cause a deployment not to receive # traffic at some basepath. class GoogleCloudApigeeV1DeploymentChangeReportRoutingConflict include Google::Apis::Core::Hashable # A tuple representing a basepath and the deployment containing it. # Corresponds to the JSON property `conflictingDeployment` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment] attr_accessor :conflicting_deployment # A human-readable description of this conflict. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The name of the environment group in which this conflict exists. # Corresponds to the JSON property `environmentGroup` # @return [String] attr_accessor :environment_group def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @conflicting_deployment = args[:conflicting_deployment] if args.key?(:conflicting_deployment) @description = args[:description] if args.key?(:description) @environment_group = args[:environment_group] if args.key?(:environment_group) end end # A tuple representing a basepath and the deployment containing it. class GoogleCloudApigeeV1DeploymentChangeReportRoutingDeployment include Google::Apis::Core::Hashable # The name of the deployed proxy revision containing the basepath. # Corresponds to the JSON property `apiProxy` # @return [String] attr_accessor :api_proxy # The basepath receiving traffic. # Corresponds to the JSON property `basepath` # @return [String] attr_accessor :basepath # The name of the environment in which the proxy is deployed. # Corresponds to the JSON property `environment` # @return [String] attr_accessor :environment # The name of the deployed proxy revision containing the basepath. # Corresponds to the JSON property `revision` # @return [String] attr_accessor :revision def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_proxy = args[:api_proxy] if args.key?(:api_proxy) @basepath = args[:basepath] if args.key?(:basepath) @environment = args[:environment] if args.key?(:environment) @revision = args[:revision] if args.key?(:revision) end end # class GoogleCloudApigeeV1DeploymentConfig include Google::Apis::Core::Hashable # Additional key-value metadata about the deployment. # Corresponds to the JSON property `attributes` # @return [Hash] attr_accessor :attributes # Base path where the application needs to be hosted. Default value is # assumed to be "/". # Corresponds to the JSON property `basePath` # @return [String] attr_accessor :base_path # The location of the proxy bundle, as a uri. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # The name of the API or shared flow revision to be deployed. Must be of the # form 'organizations/`org`/apis/`api`/revisions/`rev`' or # 'organizations/`org`/sharedflows/`sf`/revisions/`rev`'. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The uid of the proxy revision. # Corresponds to the JSON property `proxyUid` # @return [String] attr_accessor :proxy_uid # A unique id that will only change if the deployment is deleted and # recreated. # 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) @attributes = args[:attributes] if args.key?(:attributes) @base_path = args[:base_path] if args.key?(:base_path) @location = args[:location] if args.key?(:location) @name = args[:name] if args.key?(:name) @proxy_uid = args[:proxy_uid] if args.key?(:proxy_uid) @uid = args[:uid] if args.key?(:uid) end end # class GoogleCloudApigeeV1Developer include Google::Apis::Core::Hashable # Access type. # Corresponds to the JSON property `accessType` # @return [String] attr_accessor :access_type # Developer app family. # Corresponds to the JSON property `appFamily` # @return [String] attr_accessor :app_family # List of apps associated with the developer. # Corresponds to the JSON property `apps` # @return [Array] attr_accessor :apps # Optional. Developer attributes (name/value pairs). The custom attribute limit # is 18. # Corresponds to the JSON property `attributes` # @return [Array] attr_accessor :attributes # List of companies associated with the developer. # Corresponds to the JSON property `companies` # @return [Array] attr_accessor :companies # Output only. Time at which the developer was created in milliseconds # since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # ID of the developer. # **Note**: IDs are generated internally by Apigee and are not # guaranteed to stay the same over time. # Corresponds to the JSON property `developerId` # @return [String] attr_accessor :developer_id # Required. Email address of the developer. This value is used to uniquely # identify # the developer in Apigee hybrid. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # Required. First name of the developer. # Corresponds to the JSON property `firstName` # @return [String] attr_accessor :first_name # Output only. Time at which the developer was last modified in # milliseconds since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Required. Last name of the developer. # Corresponds to the JSON property `lastName` # @return [String] attr_accessor :last_name # Output only. Name of the Apigee organization in which the developer resides. # Corresponds to the JSON property `organizationName` # @return [String] attr_accessor :organization_name # Output only. Status of the developer. Valid values are `active` and `inactive`. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Required. User name of the developer. Not used by Apigee hybrid. # Corresponds to the JSON property `userName` # @return [String] attr_accessor :user_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @access_type = args[:access_type] if args.key?(:access_type) @app_family = args[:app_family] if args.key?(:app_family) @apps = args[:apps] if args.key?(:apps) @attributes = args[:attributes] if args.key?(:attributes) @companies = args[:companies] if args.key?(:companies) @created_at = args[:created_at] if args.key?(:created_at) @developer_id = args[:developer_id] if args.key?(:developer_id) @email = args[:email] if args.key?(:email) @first_name = args[:first_name] if args.key?(:first_name) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @last_name = args[:last_name] if args.key?(:last_name) @organization_name = args[:organization_name] if args.key?(:organization_name) @status = args[:status] if args.key?(:status) @user_name = args[:user_name] if args.key?(:user_name) end end # class GoogleCloudApigeeV1DeveloperApp include Google::Apis::Core::Hashable # List of API products associated with the developer app. # Corresponds to the JSON property `apiProducts` # @return [Array] attr_accessor :api_products # Developer app family. # Corresponds to the JSON property `appFamily` # @return [String] attr_accessor :app_family # ID of the developer app. # Corresponds to the JSON property `appId` # @return [String] attr_accessor :app_id # List of attributes for the developer app. # Corresponds to the JSON property `attributes` # @return [Array] attr_accessor :attributes # Callback URL used by OAuth 2.0 authorization servers to communicate # authorization codes back to developer apps. # Corresponds to the JSON property `callbackUrl` # @return [String] attr_accessor :callback_url # Output only. Time the developer app was created in milliseconds since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Output only. Set of credentials for the developer app consisting of the # consumer key/secret pairs associated with the API products. # Corresponds to the JSON property `credentials` # @return [Array] attr_accessor :credentials # ID of the developer. # Corresponds to the JSON property `developerId` # @return [String] attr_accessor :developer_id # Expiration time, in milliseconds, for the consumer key that # is generated for the developer app. If not set or left to the default # value of `-1`, the API key never expires. # The expiration time can't be updated after it is set. # Corresponds to the JSON property `keyExpiresIn` # @return [Fixnum] attr_accessor :key_expires_in # Output only. Time the developer app was modified in milliseconds since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Name of the developer app. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Scopes to apply to the developer app. The specified scopes must # already exist for the API product that you associate with the developer # app. # Corresponds to the JSON property `scopes` # @return [Array] attr_accessor :scopes # Status of the credential. Valid values include `approved` or `revoked`. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_products = args[:api_products] if args.key?(:api_products) @app_family = args[:app_family] if args.key?(:app_family) @app_id = args[:app_id] if args.key?(:app_id) @attributes = args[:attributes] if args.key?(:attributes) @callback_url = args[:callback_url] if args.key?(:callback_url) @created_at = args[:created_at] if args.key?(:created_at) @credentials = args[:credentials] if args.key?(:credentials) @developer_id = args[:developer_id] if args.key?(:developer_id) @key_expires_in = args[:key_expires_in] if args.key?(:key_expires_in) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) @scopes = args[:scopes] if args.key?(:scopes) @status = args[:status] if args.key?(:status) end end # class GoogleCloudApigeeV1DeveloperAppKey include Google::Apis::Core::Hashable # List of API products for which the credential can be used. # **Note**: Do not specify the list of API products when creating a consumer # key and secret for a developer app. Instead, use the # UpdateDeveloperAppKey API to # make the association after the consumer key and secret are created. # Corresponds to the JSON property `apiProducts` # @return [Array] attr_accessor :api_products # List of attributes associated with the credential. # Corresponds to the JSON property `attributes` # @return [Array] attr_accessor :attributes # Consumer key. # Corresponds to the JSON property `consumerKey` # @return [String] attr_accessor :consumer_key # Secret key. # Corresponds to the JSON property `consumerSecret` # @return [String] attr_accessor :consumer_secret # Time the developer app expires in milliseconds since epoch. # Corresponds to the JSON property `expiresAt` # @return [Fixnum] attr_accessor :expires_at # Time the developer app was created in milliseconds since epoch. # Corresponds to the JSON property `issuedAt` # @return [Fixnum] attr_accessor :issued_at # Scopes to apply to the app. The specified scope names must already # be defined for the API product that you associate with the app. # Corresponds to the JSON property `scopes` # @return [Array] attr_accessor :scopes # Status of the credential. Valid values include `approved` or `revoked`. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_products = args[:api_products] if args.key?(:api_products) @attributes = args[:attributes] if args.key?(:attributes) @consumer_key = args[:consumer_key] if args.key?(:consumer_key) @consumer_secret = args[:consumer_secret] if args.key?(:consumer_secret) @expires_at = args[:expires_at] if args.key?(:expires_at) @issued_at = args[:issued_at] if args.key?(:issued_at) @scopes = args[:scopes] if args.key?(:scopes) @status = args[:status] if args.key?(:status) end end # This message type encapsulates a metric grouped by dimension. class GoogleCloudApigeeV1DimensionMetric include Google::Apis::Core::Hashable # This field contains a list of metrics. # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # This field contains the name of the dimension. # 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) @metrics = args[:metrics] if args.key?(:metrics) @name = args[:name] if args.key?(:name) end end # Metadata common to many entities in this API. class GoogleCloudApigeeV1EntityMetadata include Google::Apis::Core::Hashable # Time at which the API proxy was created, in milliseconds since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Time at which the API proxy was most recently modified, in milliseconds # since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # The type of entity described # Corresponds to the JSON property `subType` # @return [String] attr_accessor :sub_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created_at = args[:created_at] if args.key?(:created_at) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @sub_type = args[:sub_type] if args.key?(:sub_type) end end # class GoogleCloudApigeeV1Environment include Google::Apis::Core::Hashable # Output only. Creation time of this environment as milliseconds since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Optional. Description of the environment. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. Display name for this environment. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. Last modification time of this environment as milliseconds # since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Required. Name of the environment. Values must match the # regular expression `^[.\\p`Alnum`-_]`1,255`$` # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Message for compatibility with legacy Edge specification for Java Properties # object in JSON. # Corresponds to the JSON property `properties` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1Properties] attr_accessor :properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created_at = args[:created_at] if args.key?(:created_at) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) @properties = args[:properties] if args.key?(:properties) end end # class GoogleCloudApigeeV1EnvironmentConfig include Google::Apis::Core::Hashable # The time at which this environment config was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # The list of Data Collectors used by deployments in the environment. # Corresponds to the JSON property `dataCollectors` # @return [Array] attr_accessor :data_collectors # Debug mask that applies to all deployments in the environment. # Corresponds to the JSON property `debugMask` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1DebugMask] attr_accessor :debug_mask # A list of deployments in the environment # Corresponds to the JSON property `deployments` # @return [Array] attr_accessor :deployments # Feature flags inherited from the org and environment parents. # Corresponds to the JSON property `featureFlags` # @return [Hash] attr_accessor :feature_flags # A list of flow hooks in the environment. # Corresponds to the JSON property `flowhooks` # @return [Array] attr_accessor :flowhooks # A list of keystores in the environment. # Corresponds to the JSON property `keystores` # @return [Array] attr_accessor :keystores # The name of the environment config. Must be of the form # 'organizations/`org`/environments/`env`/configs/`config_id` # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # This field can be used by the control plane to add some context # information about itself. This information could help detect the source of # the document during diagnostics and debugging. # Corresponds to the JSON property `provider` # @return [String] attr_accessor :provider # Name of the pubsub topic for this environment. # Corresponds to the JSON property `pubsubTopic` # @return [String] attr_accessor :pubsub_topic # A list of resource references in the environment. # Corresponds to the JSON property `resourceReferences` # @return [Array] attr_accessor :resource_references # A list of resource versions in the environment. # Corresponds to the JSON property `resources` # @return [Array] attr_accessor :resources # Revision id that defines the ordering on the environment config. # The higher the revision, the more recently the configuration # was deployed. # Corresponds to the JSON property `revisionId` # @return [Fixnum] attr_accessor :revision_id # DEPRECATED: use revision_id # Corresponds to the JSON property `sequenceNumber` # @return [Fixnum] attr_accessor :sequence_number # A list of target servers in the environment. Disabled target servers are # not included. # Corresponds to the JSON property `targets` # @return [Array] attr_accessor :targets # A unique id for the environment config that will only change if the # environment is deleted and recreated. # 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) @create_time = args[:create_time] if args.key?(:create_time) @data_collectors = args[:data_collectors] if args.key?(:data_collectors) @debug_mask = args[:debug_mask] if args.key?(:debug_mask) @deployments = args[:deployments] if args.key?(:deployments) @feature_flags = args[:feature_flags] if args.key?(:feature_flags) @flowhooks = args[:flowhooks] if args.key?(:flowhooks) @keystores = args[:keystores] if args.key?(:keystores) @name = args[:name] if args.key?(:name) @provider = args[:provider] if args.key?(:provider) @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic) @resource_references = args[:resource_references] if args.key?(:resource_references) @resources = args[:resources] if args.key?(:resources) @revision_id = args[:revision_id] if args.key?(:revision_id) @sequence_number = args[:sequence_number] if args.key?(:sequence_number) @targets = args[:targets] if args.key?(:targets) @uid = args[:uid] if args.key?(:uid) end end # EnvironmentGroup configuration. An environment group is used to group one or # more Apigee environments under a single host name. class GoogleCloudApigeeV1EnvironmentGroup include Google::Apis::Core::Hashable # Output only. The time at which the environment group was created as # milliseconds since # epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Required. Host names for this environment group. # Corresponds to the JSON property `hostnames` # @return [Array] attr_accessor :hostnames # Output only. The time at which the environment group was last updated as # milliseconds # since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # ID of the environment group. # 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) @created_at = args[:created_at] if args.key?(:created_at) @hostnames = args[:hostnames] if args.key?(:hostnames) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) end end # EnvironmentGroupAttachment is a resource which defines an attachment of an # environment to an environment group. class GoogleCloudApigeeV1EnvironmentGroupAttachment include Google::Apis::Core::Hashable # Output only. The time at which the environment group attachment was created as # milliseconds since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Required. ID of the attached environment. # Corresponds to the JSON property `environment` # @return [String] attr_accessor :environment # ID of the environment group attachment. # 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) @created_at = args[:created_at] if args.key?(:created_at) @environment = args[:environment] if args.key?(:environment) @name = args[:name] if args.key?(:name) end end # EnvironmentGroupConfig is a revisioned snapshot of an EnvironmentGroup and # its associated routing rules. class GoogleCloudApigeeV1EnvironmentGroupConfig include Google::Apis::Core::Hashable # Host names for the environment group. # Corresponds to the JSON property `hostnames` # @return [Array] attr_accessor :hostnames # Name of the environment group in the following format: # `organizations/`org`/envgroups/`envgroup``. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Revision id that defines the ordering of the EnvironmentGroupConfig # resource. The higher the revision, the more recently the # configuration was deployed. # Corresponds to the JSON property `revisionId` # @return [Fixnum] attr_accessor :revision_id # Ordered list of routing rules defining how traffic to this environment # group's hostnames should be routed to different environments. # Corresponds to the JSON property `routingRules` # @return [Array] attr_accessor :routing_rules # A unique id for the environment group config that will only change if # the environment group is deleted and recreated. # 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) @hostnames = args[:hostnames] if args.key?(:hostnames) @name = args[:name] if args.key?(:name) @revision_id = args[:revision_id] if args.key?(:revision_id) @routing_rules = args[:routing_rules] if args.key?(:routing_rules) @uid = args[:uid] if args.key?(:uid) end end # Details of an export job. class GoogleCloudApigeeV1Export include Google::Apis::Core::Hashable # Output only. Time the export job was created. # Corresponds to the JSON property `created` # @return [String] attr_accessor :created # Name of the datastore that is the destination of the export job [datastore] # Corresponds to the JSON property `datastoreName` # @return [String] attr_accessor :datastore_name # Description of the export job. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. Error is set when export fails # Corresponds to the JSON property `error` # @return [String] attr_accessor :error # Output only. Execution time for this export job. # If the job is still in progress, it will be set to the amount of time that # has elapsed since`created`, in seconds. # Else, it will set to (`updated` - `created`), in seconds. # Corresponds to the JSON property `executionTime` # @return [String] attr_accessor :execution_time # Display name of the export job. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. Self link of the export job. # A URI that can be used to retrieve the status of an export job. # Example: # `/organizations/myorg/environments/myenv/analytics/exports/9cfc0d85-0f30-46d6- # ae6f-318d0cb961bd` # Corresponds to the JSON property `self` # @return [String] attr_accessor :self # Output only. Status of the export job. # Valid values include `enqueued`, `running`, `completed`, and `failed`. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. Time the export job was last updated. # Corresponds to the JSON property `updated` # @return [String] attr_accessor :updated def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created = args[:created] if args.key?(:created) @datastore_name = args[:datastore_name] if args.key?(:datastore_name) @description = args[:description] if args.key?(:description) @error = args[:error] if args.key?(:error) @execution_time = args[:execution_time] if args.key?(:execution_time) @name = args[:name] if args.key?(:name) @self = args[:self] if args.key?(:self) @state = args[:state] if args.key?(:state) @updated = args[:updated] if args.key?(:updated) end end # Request body for [CreateExportRequest] class GoogleCloudApigeeV1ExportRequest include Google::Apis::Core::Hashable # Optional. Delimiter used in the CSV file, if `outputFormat` is set # to `csv`. Defaults to the `,` (comma) character. # Supported delimiter characters include comma (`,`), pipe (`|`), # and tab (`\t`). # Corresponds to the JSON property `csvDelimiter` # @return [String] attr_accessor :csv_delimiter # Required. Name of the preconfigured datastore. # Corresponds to the JSON property `datastoreName` # @return [String] attr_accessor :datastore_name # Date range of the data to export. # Corresponds to the JSON property `dateRange` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1DateRange] attr_accessor :date_range # Optional. Description of the export job. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Required. Display name of the export job. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Optional. Output format of the export. # Valid values include: `csv` or `json`. Defaults to `json`. # Note: Configure the delimiter for CSV output using the `csvDelimiter` # property. # Corresponds to the JSON property `outputFormat` # @return [String] attr_accessor :output_format def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @csv_delimiter = args[:csv_delimiter] if args.key?(:csv_delimiter) @datastore_name = args[:datastore_name] if args.key?(:datastore_name) @date_range = args[:date_range] if args.key?(:date_range) @description = args[:description] if args.key?(:description) @name = args[:name] if args.key?(:name) @output_format = args[:output_format] if args.key?(:output_format) end end # class GoogleCloudApigeeV1FlowHook include Google::Apis::Core::Hashable # Optional. Flag that specifies whether execution should continue if the flow # hook # throws an exception. Set to `true` to continue execution. Set to # `false` to stop execution if the flow hook throws an exception.Defaults # to `true`. # Corresponds to the JSON property `continueOnError` # @return [Boolean] attr_accessor :continue_on_error alias_method :continue_on_error?, :continue_on_error # Description of the flow hook. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. Where in the API call flow the flow hook is invoked. Must be one # of # `PreProxyFlowHook`, `PostProxyFlowHook`, `PreTargetFlowHook`, or # `PostTargetFlowHook`. # Corresponds to the JSON property `flowHookPoint` # @return [String] attr_accessor :flow_hook_point # Shared flow attached to this flow hook, or empty if there is none attached. # Corresponds to the JSON property `sharedFlow` # @return [String] attr_accessor :shared_flow def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @continue_on_error = args[:continue_on_error] if args.key?(:continue_on_error) @description = args[:description] if args.key?(:description) @flow_hook_point = args[:flow_hook_point] if args.key?(:flow_hook_point) @shared_flow = args[:shared_flow] if args.key?(:shared_flow) end end # class GoogleCloudApigeeV1FlowHookConfig include Google::Apis::Core::Hashable # Should the flow abort after an error in the flow hook. # Should default to true if unset. # Corresponds to the JSON property `continueOnError` # @return [Boolean] attr_accessor :continue_on_error alias_method :continue_on_error?, :continue_on_error # The name of the flow hook. Must be of the form # 'organizations/`org`/environments/`env`/flowhooks/`point`'. # Known points are PreProxyFlowHook, PostProxyFlowHook, PreTargetFlowHook, # and PostTargetFlowHook # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The name of the shared flow to invoke. Must be of the form # 'organizations/`org`/sharedflows/`sharedflow`'. # Corresponds to the JSON property `sharedFlowName` # @return [String] attr_accessor :shared_flow_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @continue_on_error = args[:continue_on_error] if args.key?(:continue_on_error) @name = args[:name] if args.key?(:name) @shared_flow_name = args[:shared_flow_name] if args.key?(:shared_flow_name) end end # Request for # GetSyncAuthorization. class GoogleCloudApigeeV1GetSyncAuthorizationRequest include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # class GoogleCloudApigeeV1IngressConfig include Google::Apis::Core::Hashable # Time at which the IngressConfig was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # List of environment groups in the organization. # Corresponds to the JSON property `environmentGroups` # @return [Array] attr_accessor :environment_groups # Name of the resource in the following format: # `organizations/`org`/deployedIngressConfig`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Revision id that defines the ordering on IngressConfig resources. # The higher the revision, the more recently the configuration # was deployed. # Corresponds to the JSON property `revisionId` # @return [Fixnum] attr_accessor :revision_id # DEPRECATED: Use revision_id # Corresponds to the JSON property `sequenceNumber` # @return [Fixnum] attr_accessor :sequence_number # A unique id for the ingress config that will only change if the # organization is deleted and recreated. # 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) @create_time = args[:create_time] if args.key?(:create_time) @environment_groups = args[:environment_groups] if args.key?(:environment_groups) @name = args[:name] if args.key?(:name) @revision_id = args[:revision_id] if args.key?(:revision_id) @sequence_number = args[:sequence_number] if args.key?(:sequence_number) @uid = args[:uid] if args.key?(:uid) end end # Apigee runtime instance. class GoogleCloudApigeeV1Instance include Google::Apis::Core::Hashable # Output only. Time the instance was created in milliseconds since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Optional. Description of the instance. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. Customer Managed Encryption Key (CMEK) used for disk & volume # encryption. # Corresponds to the JSON property `diskEncryptionKeyName` # @return [String] attr_accessor :disk_encryption_key_name # Optional. Display name for the instance. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. Hostname or IP address of the exposed Apigee endpoint used by # clients to # connect to the service. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # Output only. Time the instance was last modified in milliseconds since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Required. Compute Engine location where the instance resides. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # Required. Resource ID of the instance. Values must match the # regular expression `^a-z`0,30`[a-z\d]$`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. Port number of the exposed Apigee endpoint. # Corresponds to the JSON property `port` # @return [String] attr_accessor :port def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created_at = args[:created_at] if args.key?(:created_at) @description = args[:description] if args.key?(:description) @disk_encryption_key_name = args[:disk_encryption_key_name] if args.key?(:disk_encryption_key_name) @display_name = args[:display_name] if args.key?(:display_name) @host = args[:host] if args.key?(:host) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @location = args[:location] if args.key?(:location) @name = args[:name] if args.key?(:name) @port = args[:port] if args.key?(:port) end end # InstanceAttachment represents the installation of an environment onto an # instance. class GoogleCloudApigeeV1InstanceAttachment include Google::Apis::Core::Hashable # Output only. Time the attachment was created in milliseconds since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # ID of the attached environment. # Corresponds to the JSON property `environment` # @return [String] attr_accessor :environment # Output only. ID of the attachment. # 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) @created_at = args[:created_at] if args.key?(:created_at) @environment = args[:environment] if args.key?(:environment) @name = args[:name] if args.key?(:name) end end # The status of a deployment as reported by a single instance. class GoogleCloudApigeeV1InstanceDeploymentStatus include Google::Apis::Core::Hashable # Revisions currently deployed in MPs. # Corresponds to the JSON property `deployedRevisions` # @return [Array] attr_accessor :deployed_revisions # The current routes deployed in the ingress routing table. A route which is # missing will be shown with no destination environment. # Corresponds to the JSON property `deployedRoutes` # @return [Array] attr_accessor :deployed_routes # ID of the instance reporting the status. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deployed_revisions = args[:deployed_revisions] if args.key?(:deployed_revisions) @deployed_routes = args[:deployed_routes] if args.key?(:deployed_routes) @instance = args[:instance] if args.key?(:instance) end end # Revisions deployed in the MPs. class GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRevision include Google::Apis::Core::Hashable # The percentage of MP replicas reporting this revision # Corresponds to the JSON property `percentage` # @return [Fixnum] attr_accessor :percentage # The proxy revision reported as deployed. # Corresponds to the JSON property `revision` # @return [String] attr_accessor :revision def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @percentage = args[:percentage] if args.key?(:percentage) @revision = args[:revision] if args.key?(:revision) end end # A route deployed in the ingress routing table. class GoogleCloudApigeeV1InstanceDeploymentStatusDeployedRoute include Google::Apis::Core::Hashable # The basepath in the routing table. # Corresponds to the JSON property `basepath` # @return [String] attr_accessor :basepath # The envgroup where this route is installed. # Corresponds to the JSON property `envgroup` # @return [String] attr_accessor :envgroup # The destination environment. This will be empty if the route is not yet # reported. # Corresponds to the JSON property `environment` # @return [String] attr_accessor :environment # The percentage of ingress replicas reporting this route. # Corresponds to the JSON property `percentage` # @return [Fixnum] attr_accessor :percentage def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @basepath = args[:basepath] if args.key?(:basepath) @envgroup = args[:envgroup] if args.key?(:envgroup) @environment = args[:environment] if args.key?(:environment) @percentage = args[:percentage] if args.key?(:percentage) end end # class GoogleCloudApigeeV1KeyAliasReference include Google::Apis::Core::Hashable # The alias id. Must exist in the keystore referred to by reference. # Corresponds to the JSON property `aliasId` # @return [String] attr_accessor :alias_id # The reference name. Must be of the form: # organizations/`org`/environments/`env`/references/`ref`. # Corresponds to the JSON property `reference` # @return [String] attr_accessor :reference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alias_id = args[:alias_id] if args.key?(:alias_id) @reference = args[:reference] if args.key?(:reference) end end # A collection of key, value string pairs class GoogleCloudApigeeV1KeyValueMap include Google::Apis::Core::Hashable # Optional. If `true` entry values will be encrypted. # Corresponds to the JSON property `encrypted` # @return [Boolean] attr_accessor :encrypted alias_method :encrypted?, :encrypted # Required. The id of the key value map. # 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) @encrypted = args[:encrypted] if args.key?(:encrypted) @name = args[:name] if args.key?(:name) end end # A datastore for Certificates and Aliases class GoogleCloudApigeeV1Keystore include Google::Apis::Core::Hashable # Output only. The aliases in this keystore. # Corresponds to the JSON property `aliases` # @return [Array] attr_accessor :aliases # Required. The resource ID for this keystore. Values must match the # regular expression `[\w[:space:]-.]`1,255``. # 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) @aliases = args[:aliases] if args.key?(:aliases) @name = args[:name] if args.key?(:name) end end # class GoogleCloudApigeeV1KeystoreConfig include Google::Apis::Core::Hashable # Aliases in the keystore. # Corresponds to the JSON property `aliases` # @return [Array] attr_accessor :aliases # The resource name. Must be of the # form: # 'organizations/`org`/environments/`env`/keystores/`keystore`'. # 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) @aliases = args[:aliases] if args.key?(:aliases) @name = args[:name] if args.key?(:name) end end # class GoogleCloudApigeeV1ListApiProductsResponse include Google::Apis::Core::Hashable # Lists all API product names defined for an organization. # Corresponds to the JSON property `apiProduct` # @return [Array] attr_accessor :api_product def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_product = args[:api_product] if args.key?(:api_product) end end # class GoogleCloudApigeeV1ListApiProxiesResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `proxies` # @return [Array] attr_accessor :proxies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @proxies = args[:proxies] if args.key?(:proxies) end end # class GoogleCloudApigeeV1ListAppsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `app` # @return [Array] attr_accessor :app def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @app = args[:app] if args.key?(:app) end end # The response for ListAsyncQueries. class GoogleCloudApigeeV1ListAsyncQueriesResponse include Google::Apis::Core::Hashable # The asynchronous queries belong to requested resource name. # Corresponds to the JSON property `queries` # @return [Array] attr_accessor :queries def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @queries = args[:queries] if args.key?(:queries) end end # This message encapsulates a list of custom report definitions class GoogleCloudApigeeV1ListCustomReportsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `qualifier` # @return [Array] attr_accessor :qualifier def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @qualifier = args[:qualifier] if args.key?(:qualifier) end end # The response for ListDatastores class GoogleCloudApigeeV1ListDatastoresResponse include Google::Apis::Core::Hashable # A list of datastores # Corresponds to the JSON property `datastores` # @return [Array] attr_accessor :datastores def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @datastores = args[:datastores] if args.key?(:datastores) end end # class GoogleCloudApigeeV1ListDebugSessionsResponse include Google::Apis::Core::Hashable # Page token that you can include in a ListDebugSessionsRequest to # retrieve the next page. If omitted, no subsequent pages exist. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Session info that includes debug session ID and the first transaction # creation timestamp. # Corresponds to the JSON property `sessions` # @return [Array] attr_accessor :sessions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @sessions = args[:sessions] if args.key?(:sessions) end end # class GoogleCloudApigeeV1ListDeploymentsResponse include Google::Apis::Core::Hashable # List of deployments. # Corresponds to the JSON property `deployments` # @return [Array] attr_accessor :deployments def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deployments = args[:deployments] if args.key?(:deployments) end end # class GoogleCloudApigeeV1ListDeveloperAppsResponse include Google::Apis::Core::Hashable # List of developer apps and their credentials. # Corresponds to the JSON property `app` # @return [Array] attr_accessor :app def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @app = args[:app] if args.key?(:app) end end # Response for # ListEnvironmentGroupAttachments. class GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse include Google::Apis::Core::Hashable # EnvironmentGroupAttachments for the specified environment group. # Corresponds to the JSON property `environmentGroupAttachments` # @return [Array] attr_accessor :environment_group_attachments # Page token that you can include in a ListEnvironmentGroupAttachments # request to retrieve the next page. If omitted, no subsequent pages exist. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @environment_group_attachments = args[:environment_group_attachments] if args.key?(:environment_group_attachments) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # Response for # ListEnvironmentGroups. class GoogleCloudApigeeV1ListEnvironmentGroupsResponse include Google::Apis::Core::Hashable # EnvironmentGroups in the specified organization. # Corresponds to the JSON property `environmentGroups` # @return [Array] attr_accessor :environment_groups # Page token that you can include in a ListEnvironmentGroups request to # retrieve the next page. If omitted, no subsequent pages exist. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @environment_groups = args[:environment_groups] if args.key?(:environment_groups) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # Response for # ListEnvironmentResources class GoogleCloudApigeeV1ListEnvironmentResourcesResponse include Google::Apis::Core::Hashable # List of resources files. # Corresponds to the JSON property `resourceFile` # @return [Array] attr_accessor :resource_file def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_file = args[:resource_file] if args.key?(:resource_file) end end # The response for ListExports class GoogleCloudApigeeV1ListExportsResponse include Google::Apis::Core::Hashable # Details of the export jobs. # Corresponds to the JSON property `exports` # @return [Array] attr_accessor :exports def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exports = args[:exports] if args.key?(:exports) end end # class GoogleCloudApigeeV1ListHybridIssuersResponse include Google::Apis::Core::Hashable # Lists of hybrid services and its trusted issuer email ids. # Corresponds to the JSON property `issuers` # @return [Array] attr_accessor :issuers def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @issuers = args[:issuers] if args.key?(:issuers) end end # Response for # ListInstanceAttachments. class GoogleCloudApigeeV1ListInstanceAttachmentsResponse include Google::Apis::Core::Hashable # Attachments for the instance. # Corresponds to the JSON property `attachments` # @return [Array] attr_accessor :attachments # Page token that you can include in a ListInstanceAttachments request to # retrieve the next page of content. If omitted, no subsequent pages exist. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachments = args[:attachments] if args.key?(:attachments) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # Response for ListInstances. class GoogleCloudApigeeV1ListInstancesResponse include Google::Apis::Core::Hashable # Instances in the specified organization. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # Page token that you can include in a ListInstance request to retrieve # the next page of content. If omitted, no subsequent pages exist. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # class GoogleCloudApigeeV1ListOfDevelopersResponse include Google::Apis::Core::Hashable # List of developers. # Corresponds to the JSON property `developer` # @return [Array] attr_accessor :developer def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @developer = args[:developer] if args.key?(:developer) end end # class GoogleCloudApigeeV1ListOrganizationsResponse include Google::Apis::Core::Hashable # List of Apigee organizations and associated GCP projects. # Corresponds to the JSON property `organizations` # @return [Array] attr_accessor :organizations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @organizations = args[:organizations] if args.key?(:organizations) end end # class GoogleCloudApigeeV1ListSharedFlowsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `sharedFlows` # @return [Array] attr_accessor :shared_flows def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @shared_flows = args[:shared_flows] if args.key?(:shared_flows) end end # This message type encapsulates additional information about query execution. class GoogleCloudApigeeV1Metadata include Google::Apis::Core::Hashable # List of error messages as strings. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors # List of additional information such as data source, if result was # truncated etc. # E.g # "notices": [ # "Source:Postgres", # "PG Host:uappg0rw.e2e.apigeeks.net", # "query served by:4b64601e-40de-4eb1-bfb9-eeee7ac929ed", # "Table used: edge.api.uapgroup2.agg_api" # ] # Corresponds to the JSON property `notices` # @return [Array] attr_accessor :notices def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors = args[:errors] if args.key?(:errors) @notices = args[:notices] if args.key?(:notices) end end # This message type encapsulates the metric data point. # Example: # ` # "name": "sum(message_count)", # "values" : [ ` # "timestamp": 1549004400000, # "value": "39.0" # `, # ` # "timestamp" : 1548997200000, # "value" : "0.0" # ` ] # ` # or # ` # "name": "sum(message_count)", # "values" : ["39.0"] # ` class GoogleCloudApigeeV1Metric include Google::Apis::Core::Hashable # This field contains the metric name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of metric values. # Possible value format: # "values":["39.0"] or # "values":[ ` "value": "39.0", "timestamp": 1232434354` ] # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @values = args[:values] if args.key?(:values) end end # Metadata describing an Operation. class GoogleCloudApigeeV1OperationMetadata include Google::Apis::Core::Hashable # # Corresponds to the JSON property `operationType` # @return [String] attr_accessor :operation_type # # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Name of the resource for which the operation is operating on. # Corresponds to the JSON property `targetResourceName` # @return [String] attr_accessor :target_resource_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operation_type = args[:operation_type] if args.key?(:operation_type) @state = args[:state] if args.key?(:state) @target_resource_name = args[:target_resource_name] if args.key?(:target_resource_name) end end # class GoogleCloudApigeeV1OptimizedStats include Google::Apis::Core::Hashable # This message type encapsulates a response format for Js Optimized Scenario. # Corresponds to the JSON property `Response` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1OptimizedStatsResponse] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @response = args[:response] if args.key?(:response) end end # This message type encapsulates a data node as represented below: # ` # "identifier": ` # "names": [ # "apiproxy" # ], # "values": [ # "sirjee" # ] # `, # "metric": [ # ` # "env": "prod", # "name": "sum(message_count)", # "values": [ # 36.0 # ] # ` # ] # ` # OR # ` # "env": "prod", # "name": "sum(message_count)", # "values": [ # 36.0 # ] # ` # Depending on whether a dimension is present in the query or not # the data node type can be a simple metric value or dimension identifier # with list of metrics. class GoogleCloudApigeeV1OptimizedStatsNode include Google::Apis::Core::Hashable # # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data = args[:data] if args.key?(:data) end end # This message type encapsulates a response format for Js Optimized Scenario. class GoogleCloudApigeeV1OptimizedStatsResponse include Google::Apis::Core::Hashable # This field contains a list of time unit values. Time unit refers to # an epoch timestamp value. # Corresponds to the JSON property `TimeUnit` # @return [Array] attr_accessor :time_unit # This message type encapsulates additional information about query execution. # Corresponds to the JSON property `metaData` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1Metadata] attr_accessor :meta_data # This ia a boolean field to indicate if the results were truncated # based on the limit parameter. # Corresponds to the JSON property `resultTruncated` # @return [Boolean] attr_accessor :result_truncated alias_method :result_truncated?, :result_truncated # This message type encapsulates a data node as represented below: # ` # "identifier": ` # "names": [ # "apiproxy" # ], # "values": [ # "sirjee" # ] # `, # "metric": [ # ` # "env": "prod", # "name": "sum(message_count)", # "values": [ # 36.0 # ] # ` # ] # ` # OR # ` # "env": "prod", # "name": "sum(message_count)", # "values": [ # 36.0 # ] # ` # Depending on whether a dimension is present in the query or not # the data node type can be a simple metric value or dimension identifier # with list of metrics. # Corresponds to the JSON property `stats` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1OptimizedStatsNode] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @time_unit = args[:time_unit] if args.key?(:time_unit) @meta_data = args[:meta_data] if args.key?(:meta_data) @result_truncated = args[:result_truncated] if args.key?(:result_truncated) @stats = args[:stats] if args.key?(:stats) end end # class GoogleCloudApigeeV1Organization include Google::Apis::Core::Hashable # Required. Primary GCP region for analytics data storage. For valid values, see # [Create an # organization](https://docs.apigee.com/hybrid/latest/precog-provision). # Corresponds to the JSON property `analyticsRegion` # @return [String] attr_accessor :analytics_region # Not used by Apigee. # Corresponds to the JSON property `attributes` # @return [Array] attr_accessor :attributes # Compute Engine network used for ServiceNetworking to # be peered with Apigee runtime instances. See # [Getting started with the Service Networking # API](https://cloud.google.com/service-infrastructure/docs/service-networking/ # getting-started). # Valid only when [RuntimeType] is set to CLOUD. The value can be updated # only when there are no runtime instances. # For example: "default". # **Note:** Not supported for Apigee hybrid. # Corresponds to the JSON property `authorizedNetwork` # @return [String] attr_accessor :authorized_network # Output only. Base64-encoded public certificate for the root CA of the Apigee # organization. Valid only when [RuntimeType] is CLOUD. # Corresponds to the JSON property `caCertificate` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :ca_certificate # Output only. Time that the Apigee organization was created in milliseconds # since epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Not used by Apigee. # Corresponds to the JSON property `customerName` # @return [String] attr_accessor :customer_name # Description of the Apigee organization. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. List of environments in the Apigee organization. # Corresponds to the JSON property `environments` # @return [Array] attr_accessor :environments # Output only. Time that the Apigee organization was last modified in # milliseconds # since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # Output only. Name of the Apigee organization. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The project ID associated with the Apigee organization. # Corresponds to the JSON property `projectId` # @return [String] attr_accessor :project_id # Message for compatibility with legacy Edge specification for Java Properties # object in JSON. # Corresponds to the JSON property `properties` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1Properties] attr_accessor :properties # Output only. Runtime type of the Apigee organization based on the Apigee # subscription # purchased. # Corresponds to the JSON property `runtimeType` # @return [String] attr_accessor :runtime_type # Output only. Subscription type of the Apigee organization. Valid values # include trial # (free, limited, and for evaluation purposes only) or paid (full # subscription has been purchased). See # [Apigee pricing](https://cloud.google.com/apigee/pricing/). # Corresponds to the JSON property `subscriptionType` # @return [String] attr_accessor :subscription_type # Not used by Apigee. # 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) @analytics_region = args[:analytics_region] if args.key?(:analytics_region) @attributes = args[:attributes] if args.key?(:attributes) @authorized_network = args[:authorized_network] if args.key?(:authorized_network) @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate) @created_at = args[:created_at] if args.key?(:created_at) @customer_name = args[:customer_name] if args.key?(:customer_name) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @environments = args[:environments] if args.key?(:environments) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) @project_id = args[:project_id] if args.key?(:project_id) @properties = args[:properties] if args.key?(:properties) @runtime_type = args[:runtime_type] if args.key?(:runtime_type) @subscription_type = args[:subscription_type] if args.key?(:subscription_type) @type = args[:type] if args.key?(:type) end end # class GoogleCloudApigeeV1OrganizationProjectMapping include Google::Apis::Core::Hashable # Name of the Apigee organization. # Corresponds to the JSON property `organization` # @return [String] attr_accessor :organization # List of GCP projects associated with the Apigee organization. # Corresponds to the JSON property `projectIds` # @return [Array] attr_accessor :project_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @organization = args[:organization] if args.key?(:organization) @project_ids = args[:project_ids] if args.key?(:project_ids) end end # class GoogleCloudApigeeV1PodStatus include Google::Apis::Core::Hashable # Version of the application running in the pod. # Corresponds to the JSON property `appVersion` # @return [String] attr_accessor :app_version # Status of the deployment. Valid values # include: # - `deployed`: Successful. # - `error` : Failed. # - `pending` : Pod has not yet reported on the deployment. # Corresponds to the JSON property `deploymentStatus` # @return [String] attr_accessor :deployment_status # Time the deployment status was reported in milliseconds since epoch. # Corresponds to the JSON property `deploymentStatusTime` # @return [Fixnum] attr_accessor :deployment_status_time # Time the proxy was deployed in milliseconds since epoch. # Corresponds to the JSON property `deploymentTime` # @return [Fixnum] attr_accessor :deployment_time # Name of the pod which is reporting the status. # Corresponds to the JSON property `podName` # @return [String] attr_accessor :pod_name # Overall status of the pod (not this specific deployment). Valid values # include: # - `active`: Up to date. # - `stale` : Recently out of date. # Pods that have not reported status in a # long time are excluded from the output. # Corresponds to the JSON property `podStatus` # @return [String] attr_accessor :pod_status # Time the pod status was reported in milliseconds since epoch. # Corresponds to the JSON property `podStatusTime` # @return [Fixnum] attr_accessor :pod_status_time # Code associated with the deployment status. # Corresponds to the JSON property `statusCode` # @return [String] attr_accessor :status_code # Human-readable message associated with the status code. # Corresponds to the JSON property `statusCodeDetails` # @return [String] attr_accessor :status_code_details def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @app_version = args[:app_version] if args.key?(:app_version) @deployment_status = args[:deployment_status] if args.key?(:deployment_status) @deployment_status_time = args[:deployment_status_time] if args.key?(:deployment_status_time) @deployment_time = args[:deployment_time] if args.key?(:deployment_time) @pod_name = args[:pod_name] if args.key?(:pod_name) @pod_status = args[:pod_status] if args.key?(:pod_status) @pod_status_time = args[:pod_status_time] if args.key?(:pod_status_time) @status_code = args[:status_code] if args.key?(:status_code) @status_code_details = args[:status_code_details] if args.key?(:status_code_details) end end # Point is a group of information collected by runtime plane at critical points # of the message flow of the processed API request. # This is a list of supported point IDs, categorized to three major buckets. # For each category, debug points that we are currently supporting are listed # below: # - Flow status debug points: # StateChange # FlowInfo # Condition # Execution # DebugMask # Error # - Flow control debug points: # FlowCallout # Paused # Resumed # FlowReturn # BreakFlow # Error # - Runtime debug points: # ScriptExecutor # FlowCalloutStepDefinition # CustomTarget # StepDefinition # Oauth2ServicePoint # RaiseFault # NodeJS # The detail information of the given debug point is stored in a list of # results. class GoogleCloudApigeeV1Point include Google::Apis::Core::Hashable # Name of a step in the transaction. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # List of results extracted from a given debug point. # Corresponds to the JSON property `results` # @return [Array] attr_accessor :results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @results = args[:results] if args.key?(:results) end end # Message for compatibility with legacy Edge specification for Java Properties # object in JSON. class GoogleCloudApigeeV1Properties include Google::Apis::Core::Hashable # List of all properties in the object # Corresponds to the JSON property `property` # @return [Array] attr_accessor :property def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @property = args[:property] if args.key?(:property) end end # A single property entry in the Properties message. class GoogleCloudApigeeV1Property include Google::Apis::Core::Hashable # The property key # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The property value # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @value = args[:value] if args.key?(:value) end end # class GoogleCloudApigeeV1Query include Google::Apis::Core::Hashable # Delimiter used in the CSV file, if `outputFormat` is set # to `csv`. Defaults to the `,` (comma) character. # Supported delimiter characters include comma (`,`), pipe (`|`), # and tab (`\t`). # Corresponds to the JSON property `csvDelimiter` # @return [String] attr_accessor :csv_delimiter # A list of dimensions. # https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions # Corresponds to the JSON property `dimensions` # @return [Array] attr_accessor :dimensions # Boolean expression that can be used to filter data. # Filter expressions can be combined using AND/OR terms and should be fully # parenthesized to avoid ambiguity. See Analytics metrics, dimensions, and # filters reference # https://docs.apigee.com/api-platform/analytics/analytics-reference # for more information on the fields available to filter # on. For more information on the tokens that you use to build filter # expressions, see Filter expression syntax. # https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter- # expression-syntax # Corresponds to the JSON property `filter` # @return [String] attr_accessor :filter # Time unit used to group the result set. # Valid values include: second, minute, hour, day, week, or month. # If a query includes groupByTimeUnit, then the result is an aggregation # based on the specified time unit and the resultant timestamp does not # include milliseconds precision. # If a query omits groupByTimeUnit, then the resultant timestamp includes # milliseconds precision. # Corresponds to the JSON property `groupByTimeUnit` # @return [String] attr_accessor :group_by_time_unit # Maximum number of rows that can be returned in the result. # Corresponds to the JSON property `limit` # @return [Fixnum] attr_accessor :limit # A list of Metrics. # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # Asynchronous Query Name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Valid values include: `csv` or `json`. Defaults to `json`. # Note: Configure the delimiter for CSV output using the csvDelimiter # property. # Corresponds to the JSON property `outputFormat` # @return [String] attr_accessor :output_format # Asynchronous Report ID. # Corresponds to the JSON property `reportDefinitionId` # @return [String] attr_accessor :report_definition_id # Required. Time range for the query. # Can use the following predefined strings to specify the time range: # `last60minutes` # `last24hours` # `last7days` # Or, specify the timeRange as a structure describing start and end # timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. # Example: # "timeRange": ` # "start": "2018-07-29T00:13:00Z", # "end": "2018-08-01T00:18:00Z" # ` # Corresponds to the JSON property `timeRange` # @return [Object] attr_accessor :time_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @csv_delimiter = args[:csv_delimiter] if args.key?(:csv_delimiter) @dimensions = args[:dimensions] if args.key?(:dimensions) @filter = args[:filter] if args.key?(:filter) @group_by_time_unit = args[:group_by_time_unit] if args.key?(:group_by_time_unit) @limit = args[:limit] if args.key?(:limit) @metrics = args[:metrics] if args.key?(:metrics) @name = args[:name] if args.key?(:name) @output_format = args[:output_format] if args.key?(:output_format) @report_definition_id = args[:report_definition_id] if args.key?(:report_definition_id) @time_range = args[:time_range] if args.key?(:time_range) end end # class GoogleCloudApigeeV1QueryMetadata include Google::Apis::Core::Hashable # Dimensions of the AsyncQuery. # Corresponds to the JSON property `dimensions` # @return [Array] attr_accessor :dimensions # End timestamp of the query range. # Corresponds to the JSON property `endTimestamp` # @return [String] attr_accessor :end_timestamp # Metrics of the AsyncQuery. # Example: ["name:message_count,func:sum,alias:sum_message_count"] # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # Output format. # Corresponds to the JSON property `outputFormat` # @return [String] attr_accessor :output_format # Start timestamp of the query range. # Corresponds to the JSON property `startTimestamp` # @return [String] attr_accessor :start_timestamp # Query GroupBy time unit. # Corresponds to the JSON property `timeUnit` # @return [String] attr_accessor :time_unit def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dimensions = args[:dimensions] if args.key?(:dimensions) @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp) @metrics = args[:metrics] if args.key?(:metrics) @output_format = args[:output_format] if args.key?(:output_format) @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp) @time_unit = args[:time_unit] if args.key?(:time_unit) end end # More info about Metric: # https://docs.apigee.com/api-platform/analytics/analytics-reference#metrics class GoogleCloudApigeeV1QueryMetric include Google::Apis::Core::Hashable # Alias for the metric. Alias will be used to replace metric name # in query results. # Corresponds to the JSON property `alias` # @return [String] attr_accessor :alias # Aggregation function: avg, min, max, or sum. # Corresponds to the JSON property `function` # @return [String] attr_accessor :function # Required. Metric name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # One of `+`, `-`, `/`, `%`, `*`. # Corresponds to the JSON property `operator` # @return [String] attr_accessor :operator # Operand value should be provided when operator is set. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alias = args[:alias] if args.key?(:alias) @function = args[:function] if args.key?(:function) @name = args[:name] if args.key?(:name) @operator = args[:operator] if args.key?(:operator) @value = args[:value] if args.key?(:value) end end # A Reference configuration. References must refer to a keystore # that also exists in the parent environment. class GoogleCloudApigeeV1Reference include Google::Apis::Core::Hashable # Optional. A human-readable description of this reference. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Required. The resource id of this reference. Values must match the # regular expression [\w\s\-.]+. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Required. The id of the resource to which this reference refers. # Must be the id of a resource that exists in the parent environment and is # of the given resource_type. # Corresponds to the JSON property `refers` # @return [String] attr_accessor :refers # The type of resource referred to by this reference. Valid values # are 'KeyStore' or 'TrustStore'. # Corresponds to the JSON property `resourceType` # @return [String] attr_accessor :resource_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @name = args[:name] if args.key?(:name) @refers = args[:refers] if args.key?(:refers) @resource_type = args[:resource_type] if args.key?(:resource_type) end end # class GoogleCloudApigeeV1ReferenceConfig include Google::Apis::Core::Hashable # The name of the reference. Must be of the form # 'organizations/`org`/environments/`env`/references/`ref`'. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The name of the referred resource. Only references to keystore resources # are supported. Must be of the form # 'organizations/`org`/environments/`env`/keystores/`ks`'. # Corresponds to the JSON property `resourceName` # @return [String] attr_accessor :resource_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @resource_name = args[:resource_name] if args.key?(:resource_name) end end # Request for ReportInstanceStatus. class GoogleCloudApigeeV1ReportInstanceStatusRequest include Google::Apis::Core::Hashable # A unique ID for the instance which is guaranteed to be unique in case the # user installs multiple hybrid runtimes with the same instance ID. # Corresponds to the JSON property `instanceUid` # @return [String] attr_accessor :instance_uid # The time the report was generated in the runtime. Used to prevent an old # status from overwriting a newer one. An instance should space out it's # status reports so that clock skew does not play a factor. # Corresponds to the JSON property `reportTime` # @return [String] attr_accessor :report_time # Status for config resources # Corresponds to the JSON property `resources` # @return [Array] attr_accessor :resources def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_uid = args[:instance_uid] if args.key?(:instance_uid) @report_time = args[:report_time] if args.key?(:report_time) @resources = args[:resources] if args.key?(:resources) end end # Placeholder for future enhancements to status reporting protocol class GoogleCloudApigeeV1ReportInstanceStatusResponse include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # class GoogleCloudApigeeV1ReportProperty include Google::Apis::Core::Hashable # name of the property # Corresponds to the JSON property `property` # @return [String] attr_accessor :property # property values # Corresponds to the JSON property `value` # @return [Array] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @property = args[:property] if args.key?(:property) @value = args[:value] if args.key?(:value) end end # class GoogleCloudApigeeV1ResourceConfig include Google::Apis::Core::Hashable # The location of the resource as a URI. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # The resource name. Only environment-scoped resource files are supported. # Must be of the form # 'organizations/`org`/environments/`env`/resourcefiles/`type`/`file`/revisions/` # rev`'. # 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) @location = args[:location] if args.key?(:location) @name = args[:name] if args.key?(:name) end end # Metadata about a resource file. class GoogleCloudApigeeV1ResourceFile include Google::Apis::Core::Hashable # ID of the resource file. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Resource file type. `` resource_file_type `` # 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) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end end # List of resource files. class GoogleCloudApigeeV1ResourceFiles include Google::Apis::Core::Hashable # List of resource files. # Corresponds to the JSON property `resourceFile` # @return [Array] attr_accessor :resource_file def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_file = args[:resource_file] if args.key?(:resource_file) end end # The status of a resource loaded in the runtime. class GoogleCloudApigeeV1ResourceStatus include Google::Apis::Core::Hashable # The resource name. Currently only two resources are supported: # EnvironmentGroup - organizations/`org`/envgroups/`envgroup` # EnvironmentConfig - # organizations/`org`/environments/`environment`/deployedConfig # Corresponds to the JSON property `resource` # @return [String] attr_accessor :resource # Revisions of the resource currently deployed in the instance. # Corresponds to the JSON property `revisions` # @return [Array] attr_accessor :revisions # The total number of replicas that should have this resource. # Corresponds to the JSON property `totalReplicas` # @return [Fixnum] attr_accessor :total_replicas # The uid of the resource. In the unexpected case that the instance has # multiple uids for the same name, they should be reported under separate # ResourceStatuses. # 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) @resource = args[:resource] if args.key?(:resource) @revisions = args[:revisions] if args.key?(:revisions) @total_replicas = args[:total_replicas] if args.key?(:total_replicas) @uid = args[:uid] if args.key?(:uid) end end # Result is short for "action result", could be different types identified by # "action_result" field. Supported types: # 1. DebugInfo : generic debug info collected by runtime recorded as a list of # properties. For example, the contents could be virtual host info, state # change result, or execution metadata. Required fields : properties, timestamp # 2. RequestMessage: information of a http request. Contains headers, request # URI and http methods type.Required fields : headers, uri, verb # 3. ResponseMessage: information of a http response. Contains headers, reason # phrase and http status code. Required fields : headers, reasonPhrase, # statusCode # 4. ErrorMessage: information of a http error message. Contains detail error # message, reason phrase and status code. Required fields : content, headers, # reasonPhrase, statusCode # 5. VariableAccess: a list of variable access actions, can be Get, Set and # Remove. Required fields : accessList class GoogleCloudApigeeV1Result include Google::Apis::Core::Hashable # Type of the action result. Can be one of the five: DebugInfo, # RequestMessage, ResponseMessage, ErrorMessage, VariableAccess # Corresponds to the JSON property `ActionResult` # @return [String] attr_accessor :action_result # A list of variable access actions agaist the api proxy. # Supported values: Get, Set, Remove. # Corresponds to the JSON property `accessList` # @return [Array] attr_accessor :access_list # Error message content. for example, # "content" : "`\"fault\":`\"faultstring\":\"API timed # out\",\"detail\":`\"errorcode\":\"flow.APITimedOut\"```" # Corresponds to the JSON property `content` # @return [String] attr_accessor :content # A list of HTTP headers. # for example, # '"headers" : [ ` # "name" : "Content-Length", # "value" : "83" # `, ` # "name" : "Content-Type", # "value" : "application/json" # ` ]' # Corresponds to the JSON property `headers` # @return [Array] attr_accessor :headers # Message for compatibility with legacy Edge specification for Java Properties # object in JSON. # Corresponds to the JSON property `properties` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1Properties] attr_accessor :properties # HTTP response phrase # Corresponds to the JSON property `reasonPhrase` # @return [String] attr_accessor :reason_phrase # HTTP response code # Corresponds to the JSON property `statusCode` # @return [String] attr_accessor :status_code # Timestamp of when the result is recorded. Its format is dd-mm-yy # hh:mm:ss:xxx. For example, `"timestamp" : "12-08-19 00:31:59:960"` # Corresponds to the JSON property `timestamp` # @return [String] attr_accessor :timestamp # The relative path of the api proxy. # for example, `"uRI" : "/iloveapis"` # Corresponds to the JSON property `uRI` # @return [String] attr_accessor :u_ri # HTTP method verb # Corresponds to the JSON property `verb` # @return [String] attr_accessor :verb def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action_result = args[:action_result] if args.key?(:action_result) @access_list = args[:access_list] if args.key?(:access_list) @content = args[:content] if args.key?(:content) @headers = args[:headers] if args.key?(:headers) @properties = args[:properties] if args.key?(:properties) @reason_phrase = args[:reason_phrase] if args.key?(:reason_phrase) @status_code = args[:status_code] if args.key?(:status_code) @timestamp = args[:timestamp] if args.key?(:timestamp) @u_ri = args[:u_ri] if args.key?(:u_ri) @verb = args[:verb] if args.key?(:verb) end end # The status of a specific resource revision. class GoogleCloudApigeeV1RevisionStatus include Google::Apis::Core::Hashable # Errors reported when attempting to load this revision. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors # The json content of the resource revision. # Corresponds to the JSON property `jsonSpec` # @return [String] attr_accessor :json_spec # The number of replicas that have successfully loaded this revision. # Corresponds to the JSON property `replicas` # @return [Fixnum] attr_accessor :replicas # The revision of the resource. # Corresponds to the JSON property `revisionId` # @return [String] attr_accessor :revision_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors = args[:errors] if args.key?(:errors) @json_spec = args[:json_spec] if args.key?(:json_spec) @replicas = args[:replicas] if args.key?(:replicas) @revision_id = args[:revision_id] if args.key?(:revision_id) end end # class GoogleCloudApigeeV1RoutingRule include Google::Apis::Core::Hashable # URI path prefix used to route to the specified environment. May contain # one or more wildcards. For example, path segments consisting of a single # `*` character will match any string. # Corresponds to the JSON property `basepath` # @return [String] attr_accessor :basepath # Name of an environment bound to the environment group in the following # format: `organizations/`org`/environments/`env``. # Corresponds to the JSON property `environment` # @return [String] attr_accessor :environment def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @basepath = args[:basepath] if args.key?(:basepath) @environment = args[:environment] if args.key?(:environment) end end # Response for Schema call class GoogleCloudApigeeV1Schema include Google::Apis::Core::Hashable # List of schema fiels grouped as dimensions. # Corresponds to the JSON property `dimensions` # @return [Array] attr_accessor :dimensions # Additional metadata associated with schema. This is # a legacy field and usually consists of an empty array of strings. # Corresponds to the JSON property `meta` # @return [Array] attr_accessor :meta # List of schema fields grouped as dimensions. These are fields # that can be used with an aggregate function such as sum, avg, min, max. # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dimensions = args[:dimensions] if args.key?(:dimensions) @meta = args[:meta] if args.key?(:meta) @metrics = args[:metrics] if args.key?(:metrics) end end # Message type for the schema element class GoogleCloudApigeeV1SchemaSchemaElement include Google::Apis::Core::Hashable # Name of the field # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Message type for schema property # Corresponds to the JSON property `properties` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SchemaSchemaProperty] attr_accessor :properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @properties = args[:properties] if args.key?(:properties) end end # Message type for schema property class GoogleCloudApigeeV1SchemaSchemaProperty include Google::Apis::Core::Hashable # Creation time of the field # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Custom is a flag signifying if the field was provided as # part of the standard dataset or a custom field created by the customer # Corresponds to the JSON property `custom` # @return [String] attr_accessor :custom # Data type of the field. # 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) @create_time = args[:create_time] if args.key?(:create_time) @custom = args[:custom] if args.key?(:custom) @type = args[:type] if args.key?(:type) end end # class GoogleCloudApigeeV1ServiceIssuersMapping include Google::Apis::Core::Hashable # List of trusted issuer email ids. # Corresponds to the JSON property `emailIds` # @return [Array] attr_accessor :email_ids # String indicating the Apigee service name. # 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) @email_ids = args[:email_ids] if args.key?(:email_ids) @service = args[:service] if args.key?(:service) end end # Session carries the debug session id and its creation time. class GoogleCloudApigeeV1Session include Google::Apis::Core::Hashable # The debug session ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # The first transaction creation timestamp in millisecond, recoreded by UAP. # Corresponds to the JSON property `timestampMs` # @return [Fixnum] attr_accessor :timestamp_ms def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @timestamp_ms = args[:timestamp_ms] if args.key?(:timestamp_ms) end end # The metadata describing a shared flow class GoogleCloudApigeeV1SharedFlow include Google::Apis::Core::Hashable # The id of the most recently created revision for this shared flow. # Corresponds to the JSON property `latestRevisionId` # @return [String] attr_accessor :latest_revision_id # Metadata common to many entities in this API. # Corresponds to the JSON property `metaData` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1EntityMetadata] attr_accessor :meta_data # The ID of the shared flow. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A list of revisions of this shared flow. # Corresponds to the JSON property `revision` # @return [Array] attr_accessor :revision def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @latest_revision_id = args[:latest_revision_id] if args.key?(:latest_revision_id) @meta_data = args[:meta_data] if args.key?(:meta_data) @name = args[:name] if args.key?(:name) @revision = args[:revision] if args.key?(:revision) end end # The metadata describing a shared flow revision. class GoogleCloudApigeeV1SharedFlowRevision include Google::Apis::Core::Hashable # Version of the API proxy configuration schema. Currently, only 4.0 is # supported. # Corresponds to the JSON property `configurationVersion` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ConfigVersion] attr_accessor :configuration_version # A textual description of the shared flow revision. # Corresponds to the JSON property `contextInfo` # @return [String] attr_accessor :context_info # Time at which this shared flow revision was created, in milliseconds since # epoch. # Corresponds to the JSON property `createdAt` # @return [Fixnum] attr_accessor :created_at # Description of the shared flow revision. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The human readable name of this shared flow. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # A Key-Value map of metadata about this shared flow revision. # Corresponds to the JSON property `entityMetaDataAsProperties` # @return [Hash] attr_accessor :entity_meta_data_as_properties # Time at which this shared flow revision was most recently modified, in # milliseconds since epoch. # Corresponds to the JSON property `lastModifiedAt` # @return [Fixnum] attr_accessor :last_modified_at # The resource ID of the parent shared flow. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A list of policy names included in this shared flow revision. # Corresponds to the JSON property `policies` # @return [Array] attr_accessor :policies # List of resource files. # Corresponds to the JSON property `resourceFiles` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ResourceFiles] attr_accessor :resource_files # A list of the resources included in this shared flow revision formatted as # "`type`://`name`". # Corresponds to the JSON property `resources` # @return [Array] attr_accessor :resources # The resource ID of this revision. # Corresponds to the JSON property `revision` # @return [String] attr_accessor :revision # A list of the shared flow names included in this shared flow revision. # Corresponds to the JSON property `sharedFlows` # @return [Array] attr_accessor :shared_flows # The string "Application" # 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) @configuration_version = args[:configuration_version] if args.key?(:configuration_version) @context_info = args[:context_info] if args.key?(:context_info) @created_at = args[:created_at] if args.key?(:created_at) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @entity_meta_data_as_properties = args[:entity_meta_data_as_properties] if args.key?(:entity_meta_data_as_properties) @last_modified_at = args[:last_modified_at] if args.key?(:last_modified_at) @name = args[:name] if args.key?(:name) @policies = args[:policies] if args.key?(:policies) @resource_files = args[:resource_files] if args.key?(:resource_files) @resources = args[:resources] if args.key?(:resources) @revision = args[:revision] if args.key?(:revision) @shared_flows = args[:shared_flows] if args.key?(:shared_flows) @type = args[:type] if args.key?(:type) end end # This message type encapsulates a stats response. class GoogleCloudApigeeV1Stats include Google::Apis::Core::Hashable # This field contains a list of query results on environment level. # Corresponds to the JSON property `environments` # @return [Array] attr_accessor :environments # This message type encapsulates additional information about query execution. # Corresponds to the JSON property `metaData` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1Metadata] attr_accessor :meta_data def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @environments = args[:environments] if args.key?(:environments) @meta_data = args[:meta_data] if args.key?(:meta_data) end end # This message type encapsulates the environment wrapper: # "environments": [ # ` # "metrics": [ # ` # "name": "sum(message_count)", # "values": [ # "2.52056245E8" # ] # ` # ], # "name": "prod" # ` # ] class GoogleCloudApigeeV1StatsEnvironmentStats include Google::Apis::Core::Hashable # This field contains the list of metrics grouped under dimensions. # Corresponds to the JSON property `dimensions` # @return [Array] attr_accessor :dimensions # In the final response, only one of the following fields will be present # based on the dimensions provided. If no dimensions are provided, then # only a top level metrics is provided. If dimensions are included, then # there will be a top level dimensions field under environments which will # contain metrics values and the dimension name. # Example: # "environments": [ # ` # "dimensions": [ # ` # "metrics": [ # ` # "name": "sum(message_count)", # "values": [ # "2.14049521E8" # ] # ` # ], # "name": "nit_proxy" # ` # ], # "name": "prod" # ` # ] # OR # "environments": [ # ` # "metrics": [ # ` # "name": "sum(message_count)", # "values": [ # "2.19026331E8" # ] # ` # ], # "name": "prod" # ` # ] # This field contains the list of metric values. # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # # 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) @dimensions = args[:dimensions] if args.key?(:dimensions) @metrics = args[:metrics] if args.key?(:metrics) @name = args[:name] if args.key?(:name) end end # Pub/Sub subscription of an environment. class GoogleCloudApigeeV1Subscription include Google::Apis::Core::Hashable # Full name of the Pub/Sub subcription. Use the following structure in your # request: # `subscription "projects/foo/subscription/bar"` # 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 # class GoogleCloudApigeeV1SyncAuthorization include Google::Apis::Core::Hashable # Entity tag (ETag) used for optimistic concurrency control as a way to help # prevent simultaneous updates from overwriting each other. # For example, when you call [getSyncAuthorization](getSyncAuthorization) # an ETag is returned in the response. Pass that ETag when calling # the [setSyncAuthorization](setSyncAuthorization) to ensure # that you are updating the correct version. If you don't pass the # ETag in the call to `setSyncAuthorization`, then the # existing authorization is overwritten indiscriminately. # **Note**: We strongly recommend that you use the ETag in the # read-modify-write cycle to avoid race conditions. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Required. Array of service accounts to grant access to control plane # resources, each specified using the following # format: `serviceAccount:`service-account-name. # The service-account-name is formatted like an email address. For # example: # `my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com` # You might specify multiple service accounts, for example, if you have # multiple environments and wish to assign a unique service account to each # one. # The service accounts must have **Apigee Synchronizer Manager** role. # See also [Create service # accounts](https://docs.apigee.com/hybrid/latest/sa-about#create-the-service- # accounts). # Corresponds to the JSON property `identities` # @return [Array] attr_accessor :identities def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @identities = args[:identities] if args.key?(:identities) end end # TargetServer configuration. TargetServers are used to decouple a proxy's # TargetEndpoint HTTPTargetConnections from concrete URLs for backend services. class GoogleCloudApigeeV1TargetServer include Google::Apis::Core::Hashable # Optional. A human-readable description of this TargetServer. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Required. The host name this target connects to. Value must be a valid # hostname as described by RFC-1123. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # Optional. Enabling/disabling a TargetServer is useful when TargetServers # are used in load balancing configurations, and one or more TargetServers # need to taken out of rotation periodically. Defaults to true. # Corresponds to the JSON property `isEnabled` # @return [Boolean] attr_accessor :is_enabled alias_method :is_enabled?, :is_enabled # Required. The resource id of this target server. Values must match the # regular expression # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Required. The port number this target connects to on the given host. Value # must be between 1 and 65535, inclusive. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # TLS configuration information for # VirtualHosts and # TargetServers. # Corresponds to the JSON property `sSLInfo` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1TlsInfo] attr_accessor :s_sl_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @host = args[:host] if args.key?(:host) @is_enabled = args[:is_enabled] if args.key?(:is_enabled) @name = args[:name] if args.key?(:name) @port = args[:port] if args.key?(:port) @s_sl_info = args[:s_sl_info] if args.key?(:s_sl_info) end end # class GoogleCloudApigeeV1TargetServerConfig include Google::Apis::Core::Hashable # Target host name. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # The target server revision name. Must be of the form # 'organizations/`org`/environments/`env`/targetservers/`ts_id`/revisions/`rev`'. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Target port. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # TLS settings for the target. # Corresponds to the JSON property `tlsInfo` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1TlsInfoConfig] attr_accessor :tls_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @host = args[:host] if args.key?(:host) @name = args[:name] if args.key?(:name) @port = args[:port] if args.key?(:port) @tls_info = args[:tls_info] if args.key?(:tls_info) end end # The response for TestDatastore class GoogleCloudApigeeV1TestDatastoreResponse include Google::Apis::Core::Hashable # Output only. Error message of test connection failure # Corresponds to the JSON property `error` # @return [String] attr_accessor :error # Output only. It could be `completed` or `failed` # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error = args[:error] if args.key?(:error) @state = args[:state] if args.key?(:state) end end # TLS configuration information for # VirtualHosts and # TargetServers. class GoogleCloudApigeeV1TlsInfo include Google::Apis::Core::Hashable # The SSL/TLS cipher suites to be used. Must be one of the cipher suite names # listed in: # http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames. # html#ciphersuites # Corresponds to the JSON property `ciphers` # @return [Array] attr_accessor :ciphers # Optional. Enables two-way TLS. # Corresponds to the JSON property `clientAuthEnabled` # @return [Boolean] attr_accessor :client_auth_enabled alias_method :client_auth_enabled?, :client_auth_enabled # The TLS Common Name of the certificate. # Corresponds to the JSON property `commonName` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1TlsInfoCommonName] attr_accessor :common_name # Required. Enables one-way TLS. # Corresponds to the JSON property `enabled` # @return [Boolean] attr_accessor :enabled alias_method :enabled?, :enabled # If true, Edge ignores TLS certificate errors. Valid when configuring TLS # for target servers and target endpoints, and when configuring virtual hosts # that use 2-way TLS. # When used with a target endpoint/target server, if the backend system uses # SNI and returns a cert with a subject Distinguished Name (DN) that does not # match the hostname, there is no way to ignore the error and the connection # fails. # Corresponds to the JSON property `ignoreValidationErrors` # @return [Boolean] attr_accessor :ignore_validation_errors alias_method :ignore_validation_errors?, :ignore_validation_errors # Required if `client_auth_enabled` is true. The resource ID for the # alias containing the private key and cert. # Corresponds to the JSON property `keyAlias` # @return [String] attr_accessor :key_alias # Required if `client_auth_enabled` is true. The resource ID of the # keystore. References not yet supported. # Corresponds to the JSON property `keyStore` # @return [String] attr_accessor :key_store # The TLS versioins to be used. # Corresponds to the JSON property `protocols` # @return [Array] attr_accessor :protocols # The resource ID of the truststore. # References not yet supported. # Corresponds to the JSON property `trustStore` # @return [String] attr_accessor :trust_store def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ciphers = args[:ciphers] if args.key?(:ciphers) @client_auth_enabled = args[:client_auth_enabled] if args.key?(:client_auth_enabled) @common_name = args[:common_name] if args.key?(:common_name) @enabled = args[:enabled] if args.key?(:enabled) @ignore_validation_errors = args[:ignore_validation_errors] if args.key?(:ignore_validation_errors) @key_alias = args[:key_alias] if args.key?(:key_alias) @key_store = args[:key_store] if args.key?(:key_store) @protocols = args[:protocols] if args.key?(:protocols) @trust_store = args[:trust_store] if args.key?(:trust_store) end end # class GoogleCloudApigeeV1TlsInfoCommonName include Google::Apis::Core::Hashable # The TLS Common Name string of the certificate. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value # Indicates whether the cert should be matched against as a wildcard cert. # Corresponds to the JSON property `wildcardMatch` # @return [Boolean] attr_accessor :wildcard_match alias_method :wildcard_match?, :wildcard_match def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @value = args[:value] if args.key?(:value) @wildcard_match = args[:wildcard_match] if args.key?(:wildcard_match) end end # class GoogleCloudApigeeV1TlsInfoConfig include Google::Apis::Core::Hashable # Whitelist of supported ciphers. # Corresponds to the JSON property `ciphers` # @return [Array] attr_accessor :ciphers # Indicates if client auth is enabled for the target. Enables two-way TLS. # Corresponds to the JSON property `clientAuthEnabled` # @return [Boolean] attr_accessor :client_auth_enabled alias_method :client_auth_enabled?, :client_auth_enabled # Common name to validate the target against. # Corresponds to the JSON property `commonName` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1CommonNameConfig] attr_accessor :common_name # Enables one-way TLS. # Corresponds to the JSON property `enabled` # @return [Boolean] attr_accessor :enabled alias_method :enabled?, :enabled # If true, ignore TLS certificate validation errors. # Corresponds to the JSON property `ignoreValidationErrors` # @return [Boolean] attr_accessor :ignore_validation_errors alias_method :ignore_validation_errors?, :ignore_validation_errors # The name of the Alias used for client side auth. It must be of the form: # organizations/`org`/environments/`env`/keystores/`keystore`/aliases/`alias` # Corresponds to the JSON property `keyAlias` # @return [String] attr_accessor :key_alias # A pair of reference name and alias to use for client side auth. # Corresponds to the JSON property `keyAliasReference` # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1KeyAliasReference] attr_accessor :key_alias_reference # Whitelist of supported TLS protocols. # Corresponds to the JSON property `protocols` # @return [Array] attr_accessor :protocols # The name of the Keystore or keystore reference containing trusted # certificates for the server. It must be of either the form # organizations/`org`/environments/`env`/keystores/`keystore` or # organizations/`org`/environments/`env`/references/`reference`. # Corresponds to the JSON property `trustStore` # @return [String] attr_accessor :trust_store def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ciphers = args[:ciphers] if args.key?(:ciphers) @client_auth_enabled = args[:client_auth_enabled] if args.key?(:client_auth_enabled) @common_name = args[:common_name] if args.key?(:common_name) @enabled = args[:enabled] if args.key?(:enabled) @ignore_validation_errors = args[:ignore_validation_errors] if args.key?(:ignore_validation_errors) @key_alias = args[:key_alias] if args.key?(:key_alias) @key_alias_reference = args[:key_alias_reference] if args.key?(:key_alias_reference) @protocols = args[:protocols] if args.key?(:protocols) @trust_store = args[:trust_store] if args.key?(:trust_store) end end # Details on why a resource update failed in the runtime. class GoogleCloudApigeeV1UpdateError include Google::Apis::Core::Hashable # Status code. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # User-friendly error message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # The sub resource specific to this error (e.g. a proxy deployed within the # EnvironmentConfig). If empty the error refers to the top level resource. # Corresponds to the JSON property `resource` # @return [String] attr_accessor :resource # A string that uniquely identifies the type of error. This provides a # more reliable means to deduplicate errors across revisions and instances. # 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) @code = args[:code] if args.key?(:code) @message = args[:message] if args.key?(:message) @resource = args[:resource] if args.key?(:resource) @type = args[:type] if args.key?(:type) end end # Specifies the audit configuration for a service. # The configuration determines which permission types are logged, and what # identities, if any, are exempted from logging. # An AuditConfig must have one or more AuditLogConfigs. # If there are AuditConfigs for both `allServices` and a specific service, # the union of the two AuditConfigs is used for that service: the log_types # specified in each AuditConfig are enabled, and the exempted_members in each # AuditLogConfig are exempted. # Example Policy with multiple AuditConfigs: # ` # "audit_configs": [ # ` # "service": "allServices", # "audit_log_configs": [ # ` # "log_type": "DATA_READ", # "exempted_members": [ # "user:jose@example.com" # ] # `, # ` # "log_type": "DATA_WRITE" # `, # ` # "log_type": "ADMIN_READ" # ` # ] # `, # ` # "service": "sampleservice.googleapis.com", # "audit_log_configs": [ # ` # "log_type": "DATA_READ" # `, # ` # "log_type": "DATA_WRITE", # "exempted_members": [ # "user:aliya@example.com" # ] # ` # ] # ` # ] # ` # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ # logging. It also exempts jose@example.com from DATA_READ logging, and # aliya@example.com from DATA_WRITE logging. class GoogleIamV1AuditConfig include Google::Apis::Core::Hashable # The configuration for logging of each type of permission. # Corresponds to the JSON property `auditLogConfigs` # @return [Array] attr_accessor :audit_log_configs # Specifies a service that will be enabled for audit logging. # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. # `allServices` is a special value that covers all services. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs) @service = args[:service] if args.key?(:service) end end # Provides the configuration for logging a type of permissions. # Example: # ` # "audit_log_configs": [ # ` # "log_type": "DATA_READ", # "exempted_members": [ # "user:jose@example.com" # ] # `, # ` # "log_type": "DATA_WRITE" # ` # ] # ` # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting # jose@example.com from DATA_READ logging. class GoogleIamV1AuditLogConfig include Google::Apis::Core::Hashable # Specifies the identities that do not cause logging for this type of # permission. # Follows the same format of Binding.members. # Corresponds to the JSON property `exemptedMembers` # @return [Array] attr_accessor :exempted_members # The log type that this config enables. # Corresponds to the JSON property `logType` # @return [String] attr_accessor :log_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exempted_members = args[:exempted_members] if args.key?(:exempted_members) @log_type = args[:log_type] if args.key?(:log_type) end end # Associates `members` with a `role`. class GoogleIamV1Binding include Google::Apis::Core::Hashable # Represents a textual expression in the Common Expression Language (CEL) # syntax. CEL is a C-like expression language. The syntax and semantics of CEL # are documented at https://github.com/google/cel-spec. # Example (Comparison): # title: "Summary size limit" # description: "Determines if a summary is less than 100 chars" # expression: "document.summary.size() < 100" # Example (Equality): # title: "Requestor is owner" # description: "Determines if requestor is the document owner" # expression: "document.owner == request.auth.claims.email" # Example (Logic): # title: "Public documents" # description: "Determine whether the document should be publicly visible" # expression: "document.type != 'private' && document.type != 'internal'" # Example (Data Manipulation): # title: "Notification string" # description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" # The exact variables and functions that may be referenced within an expression # are determined by the service that evaluates it. See the service # documentation for additional information. # Corresponds to the JSON property `condition` # @return [Google::Apis::ApigeeV1::GoogleTypeExpr] attr_accessor :condition # Specifies the identities requesting access for a Cloud Platform resource. # `members` can have the following values: # * `allUsers`: A special identifier that represents anyone who is # on the internet; with or without a Google account. # * `allAuthenticatedUsers`: A special identifier that represents anyone # who is authenticated with a Google account or a service account. # * `user:`emailid``: An email address that represents a specific Google # account. For example, `alice@example.com` . # * `serviceAccount:`emailid``: An email address that represents a service # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. # For example, `admins@example.com`. # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique # identifier) representing a user that has been recently deleted. For # example, `alice@example.com?uid=123456789012345678901`. If the user is # recovered, this value reverts to `user:`emailid`` and the recovered user # retains the role in the binding. # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus # unique identifier) representing a service account that has been recently # deleted. For example, # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. # If the service account is undeleted, this value reverts to # `serviceAccount:`emailid`` and the undeleted service account retains the # role in the binding. # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique # identifier) representing a Google group that has been recently # deleted. For example, `admins@example.com?uid=123456789012345678901`. If # the group is recovered, this value reverts to `group:`emailid`` and the # recovered group retains the role in the binding. # * `domain:`domain``: The G Suite domain (primary) that represents all the # users of that domain. For example, `google.com` or `example.com`. # Corresponds to the JSON property `members` # @return [Array] attr_accessor :members # Role that is assigned to `members`. # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. # Corresponds to the JSON property `role` # @return [String] attr_accessor :role def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @condition = args[:condition] if args.key?(:condition) @members = args[:members] if args.key?(:members) @role = args[:role] if args.key?(:role) end end # An Identity and Access Management (IAM) policy, which specifies access # controls for Google Cloud resources. # A `Policy` is a collection of `bindings`. A `binding` binds one or more # `members` to a single `role`. Members can be user accounts, service accounts, # Google groups, and domains (such as G Suite). A `role` is a named list of # permissions; each `role` can be an IAM predefined role or a user-created # custom role. # For some types of Google Cloud resources, a `binding` can also specify a # `condition`, which is a logical expression that allows access to a resource # only if the expression evaluates to `true`. A condition can add constraints # based on attributes of the request, the resource, or both. To learn which # resources support conditions in their IAM policies, see the # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource- # policies). # **JSON example:** # ` # "bindings": [ # ` # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` # "role": "roles/resourcemanager.organizationViewer", # "members": [ # "user:eve@example.com" # ], # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') # ", # ` # ` # ], # "etag": "BwWWja0YfJA=", # "version": 3 # ` # **YAML example:** # bindings: # - members: # - user:mike@example.com # - group:admins@example.com # - domain:google.com # - serviceAccount:my-project-id@appspot.gserviceaccount.com # role: roles/resourcemanager.organizationAdmin # - members: # - user:eve@example.com # role: roles/resourcemanager.organizationViewer # condition: # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # - etag: BwWWja0YfJA= # - version: 3 # For a description of IAM and its features, see the # [IAM documentation](https://cloud.google.com/iam/docs/). class GoogleIamV1Policy include Google::Apis::Core::Hashable # Specifies cloud audit logging configuration for this policy. # Corresponds to the JSON property `auditConfigs` # @return [Array] attr_accessor :audit_configs # Associates a list of `members` to a `role`. Optionally, may specify a # `condition` that determines how and when the `bindings` are applied. Each # of the `bindings` must contain at least one member. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # `etag` is used for optimistic concurrency control as a way to help # prevent simultaneous updates of a policy from overwriting each other. # It is strongly suggested that systems make use of the `etag` in the # read-modify-write cycle to perform policy updates in order to avoid race # conditions: An `etag` is returned in the response to `getIamPolicy`, and # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # **Important:** If you use IAM Conditions, you must include the `etag` field # whenever you call `setIamPolicy`. If you omit this field, then IAM allows # you to overwrite a version `3` policy with a version `1` policy, and all of # the conditions in the version `3` policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy. # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value # are rejected. # Any operation that affects conditional role bindings must specify version # `3`. This requirement applies to the following operations: # * Getting a policy that includes a conditional role binding # * Adding a conditional role binding to a policy # * Changing a conditional role binding in a policy # * Removing any role binding, with or without a condition, from a policy # that includes conditions # **Important:** If you use IAM Conditions, you must include the `etag` field # whenever you call `setIamPolicy`. If you omit this field, then IAM allows # you to overwrite a version `3` policy with a version `1` policy, and all of # the conditions in the version `3` policy are lost. # If a policy does not include any conditions, operations on that policy may # specify any valid version or leave the field unset. # To learn which resources support conditions in their IAM policies, see the # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource- # policies). # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_configs = args[:audit_configs] if args.key?(:audit_configs) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @version = args[:version] if args.key?(:version) end end # Request message for `SetIamPolicy` method. class GoogleIamV1SetIamPolicyRequest include Google::Apis::Core::Hashable # An Identity and Access Management (IAM) policy, which specifies access # controls for Google Cloud resources. # A `Policy` is a collection of `bindings`. A `binding` binds one or more # `members` to a single `role`. Members can be user accounts, service accounts, # Google groups, and domains (such as G Suite). A `role` is a named list of # permissions; each `role` can be an IAM predefined role or a user-created # custom role. # For some types of Google Cloud resources, a `binding` can also specify a # `condition`, which is a logical expression that allows access to a resource # only if the expression evaluates to `true`. A condition can add constraints # based on attributes of the request, the resource, or both. To learn which # resources support conditions in their IAM policies, see the # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource- # policies). # **JSON example:** # ` # "bindings": [ # ` # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` # "role": "roles/resourcemanager.organizationViewer", # "members": [ # "user:eve@example.com" # ], # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') # ", # ` # ` # ], # "etag": "BwWWja0YfJA=", # "version": 3 # ` # **YAML example:** # bindings: # - members: # - user:mike@example.com # - group:admins@example.com # - domain:google.com # - serviceAccount:my-project-id@appspot.gserviceaccount.com # role: roles/resourcemanager.organizationAdmin # - members: # - user:eve@example.com # role: roles/resourcemanager.organizationViewer # condition: # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # - etag: BwWWja0YfJA= # - version: 3 # For a description of IAM and its features, see the # [IAM documentation](https://cloud.google.com/iam/docs/). # Corresponds to the JSON property `policy` # @return [Google::Apis::ApigeeV1::GoogleIamV1Policy] attr_accessor :policy # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only # the fields in the mask will be modified. If no mask is provided, the # following default mask is used: # `paths: "bindings, etag"` # Corresponds to the JSON property `updateMask` # @return [String] attr_accessor :update_mask def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @policy = args[:policy] if args.key?(:policy) @update_mask = args[:update_mask] if args.key?(:update_mask) end end # Request message for `TestIamPermissions` method. class GoogleIamV1TestIamPermissionsRequest include Google::Apis::Core::Hashable # The set of permissions to check for the `resource`. Permissions with # wildcards (such as '*' or 'storage.*') are not allowed. For more # information see # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). # Corresponds to the JSON property `permissions` # @return [Array] attr_accessor :permissions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end # Response message for `TestIamPermissions` method. class GoogleIamV1TestIamPermissionsResponse include Google::Apis::Core::Hashable # A subset of `TestPermissionsRequest.permissions` that the caller is # allowed. # Corresponds to the JSON property `permissions` # @return [Array] attr_accessor :permissions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end # The response message for Operations.ListOperations. class GoogleLongrunningListOperationsResponse include Google::Apis::Core::Hashable # The standard List next-page token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # A list of operations that matches the specified filter in the request. # Corresponds to the JSON property `operations` # @return [Array] attr_accessor :operations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @operations = args[:operations] if args.key?(:operations) end end # This resource represents a long-running operation that is the result of a # network API call. class GoogleLongrunningOperation include Google::Apis::Core::Hashable # 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 # 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). Each `Status` message contains # three pieces of data: error code, error message, and error details. # You can find out more about this error model and how to work with it in the # [API Design Guide](https://cloud.google.com/apis/design/errors). # Corresponds to the JSON property `error` # @return [Google::Apis::ApigeeV1::GoogleRpcStatus] attr_accessor :error # 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] attr_accessor :metadata # 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 be a resource name ending with `operations/`unique_id``. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @done = args[:done] if args.key?(:done) @error = args[:error] if args.key?(:error) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @response = args[:response] if args.key?(:response) end end # A generic empty message that you can re-use to avoid defining duplicated # empty messages in your APIs. A typical example is to use it as the request # or the response type of an API method. For instance: # service Foo ` # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); # ` # The JSON representation for `Empty` is empty JSON object ````. class GoogleProtobufEmpty include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Describes what preconditions have failed. # For example, if an RPC failed because it required the Terms of Service to be # acknowledged, it could list the terms of service violation in the # PreconditionFailure message. class GoogleRpcPreconditionFailure include Google::Apis::Core::Hashable # Describes all precondition violations. # Corresponds to the JSON property `violations` # @return [Array] attr_accessor :violations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @violations = args[:violations] if args.key?(:violations) end end # A message type used to describe a single precondition failure. class GoogleRpcPreconditionFailureViolation include Google::Apis::Core::Hashable # A description of how the precondition failed. Developers can use this # description to understand how to fix the failure. # For example: "Terms of service not accepted". # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The subject, relative to the type, that failed. # For example, "google.com/cloud" relative to the "TOS" type would indicate # which terms of service is being referenced. # Corresponds to the JSON property `subject` # @return [String] attr_accessor :subject # The type of PreconditionFailure. We recommend using a service-specific # enum type to define the supported precondition violation subjects. For # example, "TOS" for "Terms of Service violation". # 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) @subject = args[:subject] if args.key?(:subject) @type = args[:type] if args.key?(:type) 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). Each `Status` message contains # three pieces of data: error code, error message, and error details. # You can find out more about this error model and how to work with it in the # [API Design Guide](https://cloud.google.com/apis/design/errors). class GoogleRpcStatus include Google::Apis::Core::Hashable # The status code, which should be an enum value of google.rpc.Code. # Corresponds to the JSON property `code` # @return [Fixnum] attr_accessor :code # A list of messages that carry the error details. There is a common set of # message types for APIs to use. # Corresponds to the JSON property `details` # @return [Array>] attr_accessor :details # 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 :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @details = args[:details] if args.key?(:details) @message = args[:message] if args.key?(:message) end end # Represents a textual expression in the Common Expression Language (CEL) # syntax. CEL is a C-like expression language. The syntax and semantics of CEL # are documented at https://github.com/google/cel-spec. # Example (Comparison): # title: "Summary size limit" # description: "Determines if a summary is less than 100 chars" # expression: "document.summary.size() < 100" # Example (Equality): # title: "Requestor is owner" # description: "Determines if requestor is the document owner" # expression: "document.owner == request.auth.claims.email" # Example (Logic): # title: "Public documents" # description: "Determine whether the document should be publicly visible" # expression: "document.type != 'private' && document.type != 'internal'" # Example (Data Manipulation): # title: "Notification string" # description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" # The exact variables and functions that may be referenced within an expression # are determined by the service that evaluates it. See the service # documentation for additional information. class GoogleTypeExpr include Google::Apis::Core::Hashable # Optional. Description of the expression. This is a longer text which # describes the expression, e.g. when hovered over it in a UI. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Textual representation of an expression in Common Expression Language # syntax. # Corresponds to the JSON property `expression` # @return [String] attr_accessor :expression # Optional. String indicating the location of the expression for error # reporting, e.g. a file name and a position in the file. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # Optional. Title for the expression, i.e. a short string describing # its purpose. This can be used e.g. in UIs which allow to enter the # expression. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @expression = args[:expression] if args.key?(:expression) @location = args[:location] if args.key?(:location) @title = args[:title] if args.key?(:title) end end end end end