feat: Automated regeneration of accesscontextmanager v1 client (#1793)

This PR was generated using Autosynth. 🌈


<details><summary>Log from Synthtool</summary>

```
2020-12-17 01:27:13,141 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py.
On branch autosynth-accesscontextmanager-v1
nothing to commit, working tree clean
2020-12-17 01:27:13,173 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth accesscontextmanager v1
DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth accesscontextmanager v1
bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 11.3.0
Installing rake 11.3.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching i18n 1.8.5
Installing i18n 1.8.5
Fetching minitest 5.14.2
Installing minitest 5.14.2
Fetching thread_safe 0.3.6
Installing thread_safe 0.3.6
Fetching tzinfo 1.2.9
Installing tzinfo 1.2.9
Fetching activesupport 5.0.7.2
Installing activesupport 5.0.7.2
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Fetching ast 2.4.1
Installing ast 2.4.1
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching coderay 1.1.3
Installing coderay 1.1.3
Fetching json 2.4.1
Installing json 2.4.1 with native extensions
Fetching docile 1.3.2
Installing docile 1.3.2
Fetching simplecov-html 0.10.2
Installing simplecov-html 0.10.2
Fetching simplecov 0.16.1
Installing simplecov 0.16.1
Using sync 0.5.0
Fetching tins 1.26.0
Installing tins 1.26.0
Fetching term-ansicolor 1.7.1
Installing term-ansicolor 1.7.1
Fetching thor 0.20.3
Installing thor 0.20.3
Fetching coveralls 0.8.23
Installing coveralls 0.8.23
Fetching crack 0.4.4
Installing crack 0.4.4
Fetching declarative 0.0.20
Installing declarative 0.0.20
Fetching declarative-option 0.1.0
Installing declarative-option 0.1.0
Fetching diff-lcs 1.4.4
Installing diff-lcs 1.4.4
Fetching dotenv 2.7.6
Installing dotenv 2.7.6
Fetching fakefs 0.20.1
Installing fakefs 0.20.1
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching ruby2_keywords 0.0.2
Installing ruby2_keywords 0.0.2
Fetching faraday 1.1.0
Installing faraday 1.1.0
Fetching gems 1.2.0
Installing gems 1.2.0
Fetching github-markup 1.7.0
Installing github-markup 1.7.0
Fetching jwt 2.2.2
Installing jwt 2.2.2
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching os 0.9.6
Installing os 0.9.6
Fetching signet 0.14.0
Installing signet 0.14.0
Fetching googleauth 0.14.0
Installing googleauth 0.14.0
Fetching httpclient 2.8.3
Installing httpclient 2.8.3
Fetching mini_mime 1.0.2
Installing mini_mime 1.0.2
Fetching uber 0.1.0
Installing uber 0.1.0
Fetching representable 3.0.4
Installing representable 3.0.4
Fetching retriable 3.1.2
Installing retriable 3.1.2
Fetching rexml 3.2.4
Installing rexml 3.2.4
Using google-api-client 0.52.0 from source at `.`
Fetching google-id-token 1.4.2
Installing google-id-token 1.4.2
Fetching hashdiff 1.0.1
Installing hashdiff 1.0.1
Fetching mime-types-data 3.2020.1104
Installing mime-types-data 3.2020.1104
Fetching mime-types 3.3.1
Installing mime-types 3.3.1
Fetching multi_xml 0.6.0
Installing multi_xml 0.6.0
Fetching httparty 0.18.1
Installing httparty 0.18.1
Fetching rspec-support 3.10.0
Installing rspec-support 3.10.0
Fetching rspec-core 3.10.0
Installing rspec-core 3.10.0
Fetching rspec-expectations 3.10.0
Installing rspec-expectations 3.10.0
Fetching rspec-mocks 3.10.0
Installing rspec-mocks 3.10.0
Fetching rspec 3.10.0
Installing rspec 3.10.0
Fetching json_spec 1.1.5
Installing json_spec 1.1.5
Fetching launchy 2.5.0
Installing launchy 2.5.0
Fetching little-plugger 1.1.4
Installing little-plugger 1.1.4
Fetching logging 2.3.0
Installing logging 2.3.0
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching opencensus 0.5.0
Installing opencensus 0.5.0
Fetching parallel 1.20.1
Installing parallel 1.20.1
Fetching parser 2.7.2.0
Installing parser 2.7.2.0
Fetching powerpack 0.1.3
Installing powerpack 0.1.3
Fetching pry 0.13.1
Installing pry 0.13.1
Fetching pry-byebug 3.9.0
Installing pry-byebug 3.9.0
Fetching yard 0.9.25
Installing yard 0.9.25
Fetching pry-doc 0.13.5
Installing pry-doc 0.13.5
Fetching rainbow 2.2.2
Installing rainbow 2.2.2 with native extensions
Fetching redcarpet 3.5.1
Installing redcarpet 3.5.1 with native extensions
Fetching redis 3.3.5
Installing redis 3.3.5
Fetching rmail 1.1.4
Installing rmail 1.1.4
Fetching ruby-progressbar 1.10.1
Installing ruby-progressbar 1.10.1
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching rubocop 0.49.1
Installing rubocop 0.49.1
Fetching webmock 2.3.2
Installing webmock 2.3.2
Bundle complete! 31 Gemfile dependencies, 78 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:

HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.

If you are upgrading your Rails application from an older version of Rails:

Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.

If you are starting a NEW Rails application, you can ignore this notice.

For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0

Post-install message from httparty:
When you HTTParty, you must party hard!
echo a | bundle exec bin/generate-api gen generated --api=accesscontextmanager.v1 --names-out=/workspace/api_names_out.yaml
Loading accesscontextmanager, version v1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/accesscontextmanager.v1.json
W, [2020-12-17T09:27:36.502410 #240]  WARN -- : Found reserved property 'method'
W, [2020-12-17T09:27:36.502478 #240]  WARN -- : Changed to 'method_prop'
    conflict  google/apis/accesscontextmanager_v1.rb
<ntextmanager_v1.rb? (enter "h" for help) [Ynaqdhm] a
       force  google/apis/accesscontextmanager_v1.rb
   identical  google/apis/accesscontextmanager_v1/service.rb
    conflict  google/apis/accesscontextmanager_v1/classes.rb
       force  google/apis/accesscontextmanager_v1/classes.rb
    conflict  google/apis/accesscontextmanager_v1/representations.rb
       force  google/apis/accesscontextmanager_v1/representations.rb
    conflict  /workspace/api_names_out.yaml
       force  /workspace/api_names_out.yaml
2020-12-17 01:27:40,264 synthtool [DEBUG] > Wrote metadata to generated/google/apis/accesscontextmanager_v1/synth.metadata.
DEBUG:synthtool:Wrote metadata to generated/google/apis/accesscontextmanager_v1/synth.metadata.

```
</details>

Full log will be available here:
https://source.cloud.google.com/results/invocations/78e81ef5-7bf4-4f8f-a13c-d92e01900b82/targets

- [ ] To automatically regenerate this PR, check this box.
This commit is contained in:
Yoshi Automation Bot 2020-12-17 01:48:02 -08:00 committed by GitHub
parent 0ca499593a
commit e698564f18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 507 additions and 2 deletions

View File

@ -249,6 +249,10 @@
"/accesscontextmanager:v1/AccessPolicy/parent": parent
"/accesscontextmanager:v1/AccessPolicy/title": title
"/accesscontextmanager:v1/AccessPolicy/updateTime": update_time
"/accesscontextmanager:v1/ApiOperation": api_operation
"/accesscontextmanager:v1/ApiOperation/methodSelectors": method_selectors
"/accesscontextmanager:v1/ApiOperation/methodSelectors/method_selector": method_selector
"/accesscontextmanager:v1/ApiOperation/serviceName": service_name
"/accesscontextmanager:v1/BasicLevel": basic_level
"/accesscontextmanager:v1/BasicLevel/combiningFunction": combining_function
"/accesscontextmanager:v1/BasicLevel/conditions": conditions
@ -282,6 +286,18 @@
"/accesscontextmanager:v1/DevicePolicy/requireAdminApproval": require_admin_approval
"/accesscontextmanager:v1/DevicePolicy/requireCorpOwned": require_corp_owned
"/accesscontextmanager:v1/DevicePolicy/requireScreenlock": require_screenlock
"/accesscontextmanager:v1/EgressFrom": egress_from
"/accesscontextmanager:v1/EgressFrom/identities": identities
"/accesscontextmanager:v1/EgressFrom/identities/identity": identity
"/accesscontextmanager:v1/EgressFrom/identityType": identity_type
"/accesscontextmanager:v1/EgressPolicy": egress_policy
"/accesscontextmanager:v1/EgressPolicy/egressFrom": egress_from
"/accesscontextmanager:v1/EgressPolicy/egressTo": egress_to
"/accesscontextmanager:v1/EgressTo": egress_to
"/accesscontextmanager:v1/EgressTo/operations": operations
"/accesscontextmanager:v1/EgressTo/operations/operation": operation
"/accesscontextmanager:v1/EgressTo/resources": resources
"/accesscontextmanager:v1/EgressTo/resources/resource": resource
"/accesscontextmanager:v1/Empty": empty
"/accesscontextmanager:v1/Expr": expr
"/accesscontextmanager:v1/Expr/description": description
@ -293,6 +309,23 @@
"/accesscontextmanager:v1/GcpUserAccessBinding/accessLevels/access_level": access_level
"/accesscontextmanager:v1/GcpUserAccessBinding/groupKey": group_key
"/accesscontextmanager:v1/GcpUserAccessBinding/name": name
"/accesscontextmanager:v1/IngressFrom": ingress_from
"/accesscontextmanager:v1/IngressFrom/identities": identities
"/accesscontextmanager:v1/IngressFrom/identities/identity": identity
"/accesscontextmanager:v1/IngressFrom/identityType": identity_type
"/accesscontextmanager:v1/IngressFrom/sources": sources
"/accesscontextmanager:v1/IngressFrom/sources/source": source
"/accesscontextmanager:v1/IngressPolicy": ingress_policy
"/accesscontextmanager:v1/IngressPolicy/ingressFrom": ingress_from
"/accesscontextmanager:v1/IngressPolicy/ingressTo": ingress_to
"/accesscontextmanager:v1/IngressSource": ingress_source
"/accesscontextmanager:v1/IngressSource/accessLevel": access_level
"/accesscontextmanager:v1/IngressSource/resource": resource
"/accesscontextmanager:v1/IngressTo": ingress_to
"/accesscontextmanager:v1/IngressTo/operations": operations
"/accesscontextmanager:v1/IngressTo/operations/operation": operation
"/accesscontextmanager:v1/IngressTo/resources": resources
"/accesscontextmanager:v1/IngressTo/resources/resource": resource
"/accesscontextmanager:v1/ListAccessLevelsResponse": list_access_levels_response
"/accesscontextmanager:v1/ListAccessLevelsResponse/accessLevels": access_levels
"/accesscontextmanager:v1/ListAccessLevelsResponse/accessLevels/access_level": access_level
@ -313,6 +346,9 @@
"/accesscontextmanager:v1/ListServicePerimetersResponse/nextPageToken": next_page_token
"/accesscontextmanager:v1/ListServicePerimetersResponse/servicePerimeters": service_perimeters
"/accesscontextmanager:v1/ListServicePerimetersResponse/servicePerimeters/service_perimeter": service_perimeter
"/accesscontextmanager:v1/MethodSelector": method_selector
"/accesscontextmanager:v1/MethodSelector/method": method_prop
"/accesscontextmanager:v1/MethodSelector/permission": permission
"/accesscontextmanager:v1/Operation": operation
"/accesscontextmanager:v1/Operation/done": done
"/accesscontextmanager:v1/Operation/error": error
@ -352,6 +388,10 @@
"/accesscontextmanager:v1/ServicePerimeterConfig": service_perimeter_config
"/accesscontextmanager:v1/ServicePerimeterConfig/accessLevels": access_levels
"/accesscontextmanager:v1/ServicePerimeterConfig/accessLevels/access_level": access_level
"/accesscontextmanager:v1/ServicePerimeterConfig/egressPolicies": egress_policies
"/accesscontextmanager:v1/ServicePerimeterConfig/egressPolicies/egress_policy": egress_policy
"/accesscontextmanager:v1/ServicePerimeterConfig/ingressPolicies": ingress_policies
"/accesscontextmanager:v1/ServicePerimeterConfig/ingressPolicies/ingress_policy": ingress_policy
"/accesscontextmanager:v1/ServicePerimeterConfig/resources": resources
"/accesscontextmanager:v1/ServicePerimeterConfig/resources/resource": resource
"/accesscontextmanager:v1/ServicePerimeterConfig/restrictedServices": restricted_services

View File

@ -25,7 +25,7 @@ module Google
# @see https://cloud.google.com/access-context-manager/docs/reference/rest/
module AccesscontextmanagerV1
VERSION = 'V1'
REVISION = '20200927'
REVISION = '20201210'
# View and manage your data across Google Cloud Platform services
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'

View File

@ -118,6 +118,36 @@ module Google
end
end
# Identification for an API Operation.
class ApiOperation
include Google::Apis::Core::Hashable
# API methods or permissions to allow. Method or permission must belong to the
# service specified by `service_name` field. A single MethodSelector entry with `
# *` specified for the `method` field will allow all methods AND permissions for
# the service specified in `service_name`.
# Corresponds to the JSON property `methodSelectors`
# @return [Array<Google::Apis::AccesscontextmanagerV1::MethodSelector>]
attr_accessor :method_selectors
# The name of the API whose methods or permissions the IngressPolicy or
# EgressPolicy want to allow. A single ApiOperation with `service_name` field
# set to `*` will allow all methods AND permissions for all services.
# Corresponds to the JSON property `serviceName`
# @return [String]
attr_accessor :service_name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@method_selectors = args[:method_selectors] if args.key?(:method_selectors)
@service_name = args[:service_name] if args.key?(:service_name)
end
end
# `BasicLevel` is an `AccessLevel` using a set of recommended features.
class BasicLevel
include Google::Apis::Core::Hashable
@ -375,6 +405,116 @@ module Google
end
end
# Defines the conditions under which an EgressPolicy matches a request.
# Conditions based on information about the source of the request. Note that if
# the destination of the request is protected by a ServicePerimeter, then that
# ServicePerimeter must have an IngressPolicy which allows access in order for
# this request to succeed.
class EgressFrom
include Google::Apis::Core::Hashable
# A list of identities that are allowed access through this [EgressPolicy].
# Should be in the format of email address. The email address should represent
# individual user or service account only.
# Corresponds to the JSON property `identities`
# @return [Array<String>]
attr_accessor :identities
# Specifies the type of identities that are allowed access to outside the
# perimeter. If left unspecified, then members of `identities` field will be
# allowed access.
# Corresponds to the JSON property `identityType`
# @return [String]
attr_accessor :identity_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@identities = args[:identities] if args.key?(:identities)
@identity_type = args[:identity_type] if args.key?(:identity_type)
end
end
# Policy for egress from perimeter. EgressPolicies match requests based on `
# egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `
# egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy
# matches a request, the request is allowed to span the ServicePerimeter
# boundary. For example, an EgressPolicy can be used to allow VMs on networks
# within the ServicePerimeter to access a defined set of projects outside the
# perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket
# or query against a BigQuery dataset). EgressPolicies are concerned with the *
# resources* that a request relates as well as the API services and API actions
# being used. They do not related to the direction of data movement. More
# detailed documentation for this concept can be found in the descriptions of
# EgressFrom and EgressTo.
class EgressPolicy
include Google::Apis::Core::Hashable
# Defines the conditions under which an EgressPolicy matches a request.
# Conditions based on information about the source of the request. Note that if
# the destination of the request is protected by a ServicePerimeter, then that
# ServicePerimeter must have an IngressPolicy which allows access in order for
# this request to succeed.
# Corresponds to the JSON property `egressFrom`
# @return [Google::Apis::AccesscontextmanagerV1::EgressFrom]
attr_accessor :egress_from
# Defines the conditions under which an EgressPolicy matches a request.
# Conditions are based on information about the ApiOperation intended to be
# performed on the `resources` specified. Note that if the destination of the
# request is protected by a ServicePerimeter, then that ServicePerimeter must
# have an IngressPolicy which allows access in order for this request to succeed.
# Corresponds to the JSON property `egressTo`
# @return [Google::Apis::AccesscontextmanagerV1::EgressTo]
attr_accessor :egress_to
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@egress_from = args[:egress_from] if args.key?(:egress_from)
@egress_to = args[:egress_to] if args.key?(:egress_to)
end
end
# Defines the conditions under which an EgressPolicy matches a request.
# Conditions are based on information about the ApiOperation intended to be
# performed on the `resources` specified. Note that if the destination of the
# request is protected by a ServicePerimeter, then that ServicePerimeter must
# have an IngressPolicy which allows access in order for this request to succeed.
class EgressTo
include Google::Apis::Core::Hashable
# A list of ApiOperations that this egress rule applies to. A request matches if
# it contains an operation/service in this list.
# Corresponds to the JSON property `operations`
# @return [Array<Google::Apis::AccesscontextmanagerV1::ApiOperation>]
attr_accessor :operations
# A list of resources, currently only projects in the form `projects/`, that
# match this to stanza. A request matches if it contains a resource in this list.
# If `*` is specified for resources, then this EgressTo rule will authorize
# access to all resources outside the perimeter.
# Corresponds to the JSON property `resources`
# @return [Array<String>]
attr_accessor :resources
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@operations = args[:operations] if args.key?(:operations)
@resources = args[:resources] if args.key?(:resources)
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.
@ -489,6 +629,148 @@ module Google
end
end
# Defines the conditions under which an IngressPolicy matches a request.
# Conditions are based on information about the source of the request.
class IngressFrom
include Google::Apis::Core::Hashable
# A list of identities that are allowed access through this ingress policy.
# Should be in the format of email address. The email address should represent
# individual user or service account only.
# Corresponds to the JSON property `identities`
# @return [Array<String>]
attr_accessor :identities
# Specifies the type of identities that are allowed access from outside the
# perimeter. If left unspecified, then members of `identities` field will be
# allowed access.
# Corresponds to the JSON property `identityType`
# @return [String]
attr_accessor :identity_type
# Sources that this IngressPolicy authorizes access from.
# Corresponds to the JSON property `sources`
# @return [Array<Google::Apis::AccesscontextmanagerV1::IngressSource>]
attr_accessor :sources
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@identities = args[:identities] if args.key?(:identities)
@identity_type = args[:identity_type] if args.key?(:identity_type)
@sources = args[:sources] if args.key?(:sources)
end
end
# Policy for ingress into ServicePerimeter. IngressPolicies match requests based
# on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match,
# both the `ingress_from` and `ingress_to` stanzas must be matched. If an
# IngressPolicy matches a request, the request is allowed through the perimeter
# boundary from outside the perimeter. For example, access from the internet can
# be allowed either based on an AccessLevel or, for traffic hosted on Google
# Cloud, the project of the source network. For access from private networks,
# using the project of the hosting network is required. Individual ingress
# policies can be limited by restricting which services and/or actions they
# match using the `ingress_to` field.
class IngressPolicy
include Google::Apis::Core::Hashable
# Defines the conditions under which an IngressPolicy matches a request.
# Conditions are based on information about the source of the request.
# Corresponds to the JSON property `ingressFrom`
# @return [Google::Apis::AccesscontextmanagerV1::IngressFrom]
attr_accessor :ingress_from
# Defines the conditions under which an IngressPolicy matches a request.
# Conditions are based on information about the ApiOperation intended to be
# performed on the destination of the request.
# Corresponds to the JSON property `ingressTo`
# @return [Google::Apis::AccesscontextmanagerV1::IngressTo]
attr_accessor :ingress_to
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@ingress_from = args[:ingress_from] if args.key?(:ingress_from)
@ingress_to = args[:ingress_to] if args.key?(:ingress_to)
end
end
# The source that IngressPolicy authorizes access from.
class IngressSource
include Google::Apis::Core::Hashable
# An AccessLevel resource name that allow resources within the ServicePerimeters
# to be accessed from the internet. AccessLevels listed must be in the same
# policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will
# cause an error. If no AccessLevel names are listed, resources within the
# perimeter can only be accessed via Google Cloud calls with request origins
# within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
# . If `*` is specified, then all IngressSources will be allowed.
# Corresponds to the JSON property `accessLevel`
# @return [String]
attr_accessor :access_level
# A Google Cloud resource that is allowed to ingress the perimeter. Requests
# from these resources will be allowed to access perimeter data. Currently only
# projects are allowed. Format: `projects/`project_number`` The project may be
# in any Google Cloud organization, not just the organization that the perimeter
# is defined in. `*` is not allowed, the case of allowing all Google Cloud
# resources only is not supported.
# Corresponds to the JSON property `resource`
# @return [String]
attr_accessor :resource
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@access_level = args[:access_level] if args.key?(:access_level)
@resource = args[:resource] if args.key?(:resource)
end
end
# Defines the conditions under which an IngressPolicy matches a request.
# Conditions are based on information about the ApiOperation intended to be
# performed on the destination of the request.
class IngressTo
include Google::Apis::Core::Hashable
# A list of ApiOperations the sources specified in corresponding IngressFrom are
# allowed to perform in this ServicePerimeter.
# Corresponds to the JSON property `operations`
# @return [Array<Google::Apis::AccesscontextmanagerV1::ApiOperation>]
attr_accessor :operations
# A list of resources, currently only projects in the form `projects/`,
# protected by this ServicePerimeter that are allowed to be accessed by sources
# defined in the corresponding IngressFrom. A request matches if it contains a
# resource in this list. If `*` is specified for resources, then this IngressTo
# rule will authorize access to all resources inside the perimeter, provided
# that the request also matches the `operations` field.
# Corresponds to the JSON property `resources`
# @return [Array<String>]
attr_accessor :resources
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@operations = args[:operations] if args.key?(:operations)
@resources = args[:resources] if args.key?(:resources)
end
end
# A response to `ListAccessLevelsRequest`.
class ListAccessLevelsResponse
include Google::Apis::Core::Hashable
@ -617,6 +899,34 @@ module Google
end
end
# An allowed method or permission of a service specified in ApiOperation.
class MethodSelector
include Google::Apis::Core::Hashable
# Value for `method` should be a valid method name for the corresponding `
# service_name` in ApiOperation. If `*` used as value for `method`, then ALL
# methods and permissions are allowed.
# Corresponds to the JSON property `method`
# @return [String]
attr_accessor :method_prop
# Value for `permission` should be a valid Cloud IAM permission for the
# corresponding `service_name` in ApiOperation.
# Corresponds to the JSON property `permission`
# @return [String]
attr_accessor :permission
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@method_prop = args[:method_prop] if args.key?(:method_prop)
@permission = args[:permission] if args.key?(:permission)
end
end
# This resource represents a long-running operation that is the result of a
# network API call.
class Operation
@ -916,6 +1226,20 @@ module Google
# @return [Array<String>]
attr_accessor :access_levels
# List of EgressPolicies to apply to the perimeter. A perimeter may have
# multiple EgressPolicies, each of which is evaluated separately. Access is
# granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
# Corresponds to the JSON property `egressPolicies`
# @return [Array<Google::Apis::AccesscontextmanagerV1::EgressPolicy>]
attr_accessor :egress_policies
# List of IngressPolicies to apply to the perimeter. A perimeter may have
# multiple IngressPolicies, each of which is evaluated separately. Access is
# granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
# Corresponds to the JSON property `ingressPolicies`
# @return [Array<Google::Apis::AccesscontextmanagerV1::IngressPolicy>]
attr_accessor :ingress_policies
# A list of Google Cloud resources that are inside of the service perimeter.
# Currently only projects are allowed. Format: `projects/`project_number``
# Corresponds to the JSON property `resources`
@ -941,6 +1265,8 @@ module Google
# Update properties of this object
def update!(**args)
@access_levels = args[:access_levels] if args.key?(:access_levels)
@egress_policies = args[:egress_policies] if args.key?(:egress_policies)
@ingress_policies = args[:ingress_policies] if args.key?(:ingress_policies)
@resources = args[:resources] if args.key?(:resources)
@restricted_services = args[:restricted_services] if args.key?(:restricted_services)
@vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)

View File

@ -34,6 +34,12 @@ module Google
include Google::Apis::Core::JsonObjectSupport
end
class ApiOperation
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class BasicLevel
class Representation < Google::Apis::Core::JsonRepresentation; end
@ -76,6 +82,24 @@ module Google
include Google::Apis::Core::JsonObjectSupport
end
class EgressFrom
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class EgressPolicy
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class EgressTo
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Empty
class Representation < Google::Apis::Core::JsonRepresentation; end
@ -94,6 +118,30 @@ module Google
include Google::Apis::Core::JsonObjectSupport
end
class IngressFrom
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class IngressPolicy
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class IngressSource
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class IngressTo
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class ListAccessLevelsResponse
class Representation < Google::Apis::Core::JsonRepresentation; end
@ -124,6 +172,12 @@ module Google
include Google::Apis::Core::JsonObjectSupport
end
class MethodSelector
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class Operation
class Representation < Google::Apis::Core::JsonRepresentation; end
@ -207,6 +261,15 @@ module Google
end
end
class ApiOperation
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :method_selectors, as: 'methodSelectors', class: Google::Apis::AccesscontextmanagerV1::MethodSelector, decorator: Google::Apis::AccesscontextmanagerV1::MethodSelector::Representation
property :service_name, as: 'serviceName'
end
end
class BasicLevel
# @private
class Representation < Google::Apis::Core::JsonRepresentation
@ -271,6 +334,33 @@ module Google
end
end
class EgressFrom
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :identities, as: 'identities'
property :identity_type, as: 'identityType'
end
end
class EgressPolicy
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :egress_from, as: 'egressFrom', class: Google::Apis::AccesscontextmanagerV1::EgressFrom, decorator: Google::Apis::AccesscontextmanagerV1::EgressFrom::Representation
property :egress_to, as: 'egressTo', class: Google::Apis::AccesscontextmanagerV1::EgressTo, decorator: Google::Apis::AccesscontextmanagerV1::EgressTo::Representation
end
end
class EgressTo
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :operations, as: 'operations', class: Google::Apis::AccesscontextmanagerV1::ApiOperation, decorator: Google::Apis::AccesscontextmanagerV1::ApiOperation::Representation
collection :resources, as: 'resources'
end
end
class Empty
# @private
class Representation < Google::Apis::Core::JsonRepresentation
@ -296,6 +386,43 @@ module Google
end
end
class IngressFrom
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :identities, as: 'identities'
property :identity_type, as: 'identityType'
collection :sources, as: 'sources', class: Google::Apis::AccesscontextmanagerV1::IngressSource, decorator: Google::Apis::AccesscontextmanagerV1::IngressSource::Representation
end
end
class IngressPolicy
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :ingress_from, as: 'ingressFrom', class: Google::Apis::AccesscontextmanagerV1::IngressFrom, decorator: Google::Apis::AccesscontextmanagerV1::IngressFrom::Representation
property :ingress_to, as: 'ingressTo', class: Google::Apis::AccesscontextmanagerV1::IngressTo, decorator: Google::Apis::AccesscontextmanagerV1::IngressTo::Representation
end
end
class IngressSource
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :access_level, as: 'accessLevel'
property :resource, as: 'resource'
end
end
class IngressTo
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :operations, as: 'operations', class: Google::Apis::AccesscontextmanagerV1::ApiOperation, decorator: Google::Apis::AccesscontextmanagerV1::ApiOperation::Representation
collection :resources, as: 'resources'
end
end
class ListAccessLevelsResponse
# @private
class Representation < Google::Apis::Core::JsonRepresentation
@ -341,6 +468,14 @@ module Google
end
end
class MethodSelector
# @private
class Representation < Google::Apis::Core::JsonRepresentation
property :method_prop, as: 'method'
property :permission, as: 'permission'
end
end
class Operation
# @private
class Representation < Google::Apis::Core::JsonRepresentation
@ -415,6 +550,10 @@ module Google
# @private
class Representation < Google::Apis::Core::JsonRepresentation
collection :access_levels, as: 'accessLevels'
collection :egress_policies, as: 'egressPolicies', class: Google::Apis::AccesscontextmanagerV1::EgressPolicy, decorator: Google::Apis::AccesscontextmanagerV1::EgressPolicy::Representation
collection :ingress_policies, as: 'ingressPolicies', class: Google::Apis::AccesscontextmanagerV1::IngressPolicy, decorator: Google::Apis::AccesscontextmanagerV1::IngressPolicy::Representation
collection :resources, as: 'resources'
collection :restricted_services, as: 'restrictedServices'
property :vpc_accessible_services, as: 'vpcAccessibleServices', class: Google::Apis::AccesscontextmanagerV1::VpcAccessibleServices, decorator: Google::Apis::AccesscontextmanagerV1::VpcAccessibleServices::Representation

View File

@ -4,7 +4,7 @@
"git": {
"name": ".",
"remote": "https://github.com/googleapis/google-api-ruby-client.git",
"sha": "c98c719bbab68d0890524d53f8b629d7858af9c2"
"sha": "0ca499593af3b5f4ce042458f0fd780add7ad32f"
}
}
]