generated/google/apis/cloudfunctions_v1/classes.rb in google-api-client-0.24.3 vs generated/google/apis/cloudfunctions_v1/classes.rb in google-api-client-0.25.0
- old
+ new
@@ -20,10 +20,174 @@
module Google
module Apis
module CloudfunctionsV1
+ # 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:foo@gmail.com"
+ # ]
+ # `,
+ # `
+ # "log_type": "DATA_WRITE",
+ # `,
+ # `
+ # "log_type": "ADMIN_READ",
+ # `
+ # ]
+ # `,
+ # `
+ # "service": "fooservice.googleapis.com"
+ # "audit_log_configs": [
+ # `
+ # "log_type": "DATA_READ",
+ # `,
+ # `
+ # "log_type": "DATA_WRITE",
+ # "exempted_members": [
+ # "user:bar@gmail.com"
+ # ]
+ # `
+ # ]
+ # `
+ # ]
+ # `
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
+ # bar@gmail.com from DATA_WRITE logging.
+ class AuditConfig
+ include Google::Apis::Core::Hashable
+
+ # The configuration for logging of each type of permission.
+ # Corresponds to the JSON property `auditLogConfigs`
+ # @return [Array<Google::Apis::CloudfunctionsV1::AuditLogConfig>]
+ 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:foo@gmail.com"
+ # ]
+ # `,
+ # `
+ # "log_type": "DATA_WRITE",
+ # `
+ # ]
+ # `
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
+ # foo@gmail.com from DATA_READ logging.
+ class AuditLogConfig
+ 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<String>]
+ attr_accessor :exempted_members
+
+ # The log type that this config enables.
+ # Corresponds to the JSON property `logType`
+ # @return [String]
+ attr_accessor :log_type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
+ @log_type = args[:log_type] if args.key?(:log_type)
+ end
+ end
+
+ # Associates `members` with a `role`.
+ class Binding
+ include Google::Apis::Core::Hashable
+
+ # Represents an expression text. Example:
+ # title: "User account presence"
+ # description: "Determines whether the request has a user account"
+ # expression: "size(request.user) > 0"
+ # Corresponds to the JSON property `condition`
+ # @return [Google::Apis::CloudfunctionsV1::Expr]
+ 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@gmail.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`.
+ # * `domain:`domain``: A Google Apps domain name that represents all the
+ # users of that domain. For example, `google.com` or `example.com`.
+ # Corresponds to the JSON property `members`
+ # @return [Array<String>]
+ 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
+
# Request for the `CallFunction` method.
class CallFunctionRequest
include Google::Apis::Core::Hashable
# Input to be passed to the function.
@@ -74,10 +238,11 @@
end
end
# Describes a Cloud Function that contains user computation executed in
# response to an event. It encapsulate function and triggers configurations.
+ # LINT.IfChange
class CloudFunction
include Google::Apis::Core::Hashable
# The amount of memory in MB available for a function.
# Defaults to 256MB.
@@ -141,10 +306,12 @@
# project. Otherwise, it must belong to a project within the same
# organization. The format of this field is either
# `projects/`project`/global/networks/`network`` or ``network``, where
# `project` is a project id where the network is defined, and `network` is
# the short name of the network.
+ # This field is mutually exclusive with `vpc_connector` and will be replaced
+ # by it.
# See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
# more information on connecting Cloud projects.
# This feature is currently in alpha, available only for whitelisted users.
# Corresponds to the JSON property `network`
# @return [String]
@@ -201,10 +368,23 @@
# results in a new version of a function being created.
# Corresponds to the JSON property `versionId`
# @return [Fixnum]
attr_accessor :version_id
+ # The VPC Network Connector that this cloud function can connect to. It can
+ # be either the fully-qualified URI, or the short name of the network
+ # connector resource. The format of this field is
+ # `projects/*/locations/*/connectors/*`
+ # This field is mutually exclusive with `network` field and will eventually
+ # replace it.
+ # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+ # more information on connecting Cloud projects.
+ # This feature is currently in alpha, available only for whitelisted users.
+ # Corresponds to the JSON property `vpcConnector`
+ # @return [String]
+ attr_accessor :vpc_connector
+
def initialize(**args)
update!(**args)
end
# Update properties of this object
@@ -226,10 +406,11 @@
@source_upload_url = args[:source_upload_url] if args.key?(:source_upload_url)
@status = args[:status] if args.key?(:status)
@timeout = args[:timeout] if args.key?(:timeout)
@update_time = args[:update_time] if args.key?(:update_time)
@version_id = args[:version_id] if args.key?(:version_id)
+ @vpc_connector = args[:vpc_connector] if args.key?(:vpc_connector)
end
end
# Describes EventTrigger, used to request events be sent from another
# service.
@@ -296,10 +477,57 @@
@resource = args[:resource] if args.key?(:resource)
@service = args[:service] if args.key?(:service)
end
end
+ # Represents an expression text. Example:
+ # title: "User account presence"
+ # description: "Determines whether the request has a user account"
+ # expression: "size(request.user) > 0"
+ class Expr
+ include Google::Apis::Core::Hashable
+
+ # An 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.
+ # The application context of the containing message determines which
+ # well-known feature set of CEL is supported.
+ # Corresponds to the JSON property `expression`
+ # @return [String]
+ attr_accessor :expression
+
+ # An 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
+
+ # An 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
+
# Describes the policy in case of function's execution failure.
# If empty, then defaults to ignoring failures (i.e. not retrying them).
class FailurePolicy
include Google::Apis::Core::Hashable
@@ -725,10 +953,93 @@
@update_time = args[:update_time] if args.key?(:update_time)
@version_id = args[:version_id] if args.key?(:version_id)
end
end
+ # Defines an Identity and Access Management (IAM) policy. It is used to
+ # specify access control policies for Cloud Platform resources.
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
+ # `members` to a `role`, where the members can be user accounts, Google groups,
+ # Google domains, and service accounts. A `role` is a named list of permissions
+ # defined by IAM.
+ # **JSON Example**
+ # `
+ # "bindings": [
+ # `
+ # "role": "roles/owner",
+ # "members": [
+ # "user:mike@example.com",
+ # "group:admins@example.com",
+ # "domain:google.com",
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
+ # ]
+ # `,
+ # `
+ # "role": "roles/viewer",
+ # "members": ["user:sean@example.com"]
+ # `
+ # ]
+ # `
+ # **YAML Example**
+ # bindings:
+ # - members:
+ # - user:mike@example.com
+ # - group:admins@example.com
+ # - domain:google.com
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
+ # role: roles/owner
+ # - members:
+ # - user:sean@example.com
+ # role: roles/viewer
+ # For a description of IAM and its features, see the
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
+ class Policy
+ include Google::Apis::Core::Hashable
+
+ # Specifies cloud audit logging configuration for this policy.
+ # Corresponds to the JSON property `auditConfigs`
+ # @return [Array<Google::Apis::CloudfunctionsV1::AuditConfig>]
+ attr_accessor :audit_configs
+
+ # Associates a list of `members` to a `role`.
+ # `bindings` with no members will result in an error.
+ # Corresponds to the JSON property `bindings`
+ # @return [Array<Google::Apis::CloudfunctionsV1::Binding>]
+ 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.
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
+ # policy is overwritten blindly.
+ # Corresponds to the JSON property `etag`
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
+ # @return [String]
+ attr_accessor :etag
+
+ # Deprecated.
+ # 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
+
# Describes the retry policy in case of function's execution failure.
# A function execution will be retried on any failure.
# A failed execution will be retried up to 7 days with an exponential backoff
# (capped at 10 seconds).
# Retried execution is charged as any other execution.
@@ -742,10 +1053,75 @@
# Update properties of this object
def update!(**args)
end
end
+ # Request message for `SetIamPolicy` method.
+ class SetIamPolicyRequest
+ include Google::Apis::Core::Hashable
+
+ # Defines an Identity and Access Management (IAM) policy. It is used to
+ # specify access control policies for Cloud Platform resources.
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
+ # `members` to a `role`, where the members can be user accounts, Google groups,
+ # Google domains, and service accounts. A `role` is a named list of permissions
+ # defined by IAM.
+ # **JSON Example**
+ # `
+ # "bindings": [
+ # `
+ # "role": "roles/owner",
+ # "members": [
+ # "user:mike@example.com",
+ # "group:admins@example.com",
+ # "domain:google.com",
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
+ # ]
+ # `,
+ # `
+ # "role": "roles/viewer",
+ # "members": ["user:sean@example.com"]
+ # `
+ # ]
+ # `
+ # **YAML Example**
+ # bindings:
+ # - members:
+ # - user:mike@example.com
+ # - group:admins@example.com
+ # - domain:google.com
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
+ # role: roles/owner
+ # - members:
+ # - user:sean@example.com
+ # role: roles/viewer
+ # For a description of IAM and its features, see the
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
+ # Corresponds to the JSON property `policy`
+ # @return [Google::Apis::CloudfunctionsV1::Policy]
+ attr_accessor :policy
+
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
+ # the fields in the mask will be modified. If no mask is provided, the
+ # following default mask is used:
+ # paths: "bindings, etag"
+ # This field is only used by Cloud IAM.
+ # Corresponds to the JSON property `updateMask`
+ # @return [String]
+ attr_accessor :update_mask
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @policy = args[:policy] if args.key?(:policy)
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
+ end
+ end
+
# Describes SourceRepository, used to represent parameters related to
# source repository where a function is hosted.
class SourceRepository
include Google::Apis::Core::Hashable
@@ -851,9 +1227,51 @@
# 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
+
+ # Request message for `TestIamPermissions` method.
+ class TestIamPermissionsRequest
+ 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<String>]
+ 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 TestIamPermissionsResponse
+ include Google::Apis::Core::Hashable
+
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
+ # allowed.
+ # Corresponds to the JSON property `permissions`
+ # @return [Array<String>]
+ 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
end
end
end