diff --git a/generated/google/apis/cloudasset_v1.rb b/generated/google/apis/cloudasset_v1.rb index fc4966648..d5ab88e04 100644 --- a/generated/google/apis/cloudasset_v1.rb +++ b/generated/google/apis/cloudasset_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory module CloudassetV1 VERSION = 'V1' - REVISION = '20190709' + REVISION = '20190722' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudasset_v1/classes.rb b/generated/google/apis/cloudasset_v1/classes.rb index 5a9ac3b3c..63059a342 100644 --- a/generated/google/apis/cloudasset_v1/classes.rb +++ b/generated/google/apis/cloudasset_v1/classes.rb @@ -27,6 +27,21 @@ module Google class Asset include Google::Apis::Core::Hashable + # An `AccessLevel` is a label that can be applied to requests to GCP services, + # along with a list of requirements necessary for the label to be applied. + # Corresponds to the JSON property `accessLevel` + # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel] + attr_accessor :access_level + + # `AccessPolicy` is a container for `AccessLevels` (which define the necessary + # attributes to use GCP services) and `ServicePerimeters` (which define regions + # of services able to freely pass data within a perimeter). An access policy is + # globally visible within an organization, and the restrictions it specifies + # apply to all projects within an organization. + # Corresponds to the JSON property `accessPolicy` + # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy] + attr_accessor :access_policy + # Type of the asset. Example: "compute.googleapis.com/Disk". # Corresponds to the JSON property `assetType` # @return [String] @@ -95,17 +110,33 @@ module Google # @return [Google::Apis::CloudassetV1::Resource] attr_accessor :resource + # `ServicePerimeter` describes a set of GCP resources which can freely import + # and export data amongst themselves, but not export outside of the + # `ServicePerimeter`. If a request with a source within this `ServicePerimeter` + # has a target outside of the `ServicePerimeter`, the request will be blocked. + # Otherwise the request is allowed. There are two types of Service Perimeter - + # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP + # project can only belong to a single regular Service Perimeter. Service + # Perimeter Bridges can contain only GCP projects as members, a single GCP + # project may belong to multiple Service Perimeter Bridges. + # Corresponds to the JSON property `servicePerimeter` + # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter] + attr_accessor :service_perimeter + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @access_level = args[:access_level] if args.key?(:access_level) + @access_policy = args[:access_policy] if args.key?(:access_policy) @asset_type = args[:asset_type] if args.key?(:asset_type) @iam_policy = args[:iam_policy] if args.key?(:iam_policy) @name = args[:name] if args.key?(:name) @org_policy = args[:org_policy] if args.key?(:org_policy) @resource = args[:resource] if args.key?(:resource) + @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter) end end @@ -769,6 +800,431 @@ module Google end end + # An `AccessLevel` is a label that can be applied to requests to GCP services, + # along with a list of requirements necessary for the label to be applied. + class GoogleIdentityAccesscontextmanagerV1AccessLevel + include Google::Apis::Core::Hashable + + # `BasicLevel` is an `AccessLevel` using a set of recommended features. + # Corresponds to the JSON property `basic` + # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1BasicLevel] + attr_accessor :basic + + # Output only. Time the `AccessLevel` was created in UTC. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Description of the `AccessLevel` and its use. Does not affect behavior. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Required. Resource name for the Access Level. The `short_name` component + # must begin with a letter and only include alphanumeric and '_'. Format: + # `accessPolicies/`policy_id`/accessLevels/`short_name`` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Human readable title. Must be unique within the Policy. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + # Output only. Time the `AccessLevel` was updated in UTC. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @basic = args[:basic] if args.key?(:basic) + @create_time = args[:create_time] if args.key?(:create_time) + @description = args[:description] if args.key?(:description) + @name = args[:name] if args.key?(:name) + @title = args[:title] if args.key?(:title) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # `AccessPolicy` is a container for `AccessLevels` (which define the necessary + # attributes to use GCP services) and `ServicePerimeters` (which define regions + # of services able to freely pass data within a perimeter). An access policy is + # globally visible within an organization, and the restrictions it specifies + # apply to all projects within an organization. + class GoogleIdentityAccesscontextmanagerV1AccessPolicy + include Google::Apis::Core::Hashable + + # Output only. Time the `AccessPolicy` was created in UTC. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. Resource name of the `AccessPolicy`. Format: + # `accessPolicies/`policy_id`` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Required. The parent of this `AccessPolicy` in the Cloud Resource + # Hierarchy. Currently immutable once created. Format: + # `organizations/`organization_id`` + # Corresponds to the JSON property `parent` + # @return [String] + attr_accessor :parent + + # Required. Human readable title. Does not affect behavior. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + # Output only. Time the `AccessPolicy` was updated in UTC. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @name = args[:name] if args.key?(:name) + @parent = args[:parent] if args.key?(:parent) + @title = args[:title] if args.key?(:title) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # `BasicLevel` is an `AccessLevel` using a set of recommended features. + class GoogleIdentityAccesscontextmanagerV1BasicLevel + include Google::Apis::Core::Hashable + + # How the `conditions` list should be combined to determine if a request is + # granted this `AccessLevel`. If AND is used, each `Condition` in + # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR + # is used, at least one `Condition` in `conditions` must be satisfied for the + # `AccessLevel` to be applied. Default behavior is AND. + # Corresponds to the JSON property `combiningFunction` + # @return [String] + attr_accessor :combining_function + + # Required. A list of requirements for the `AccessLevel` to be granted. + # Corresponds to the JSON property `conditions` + # @return [Array] + attr_accessor :conditions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @combining_function = args[:combining_function] if args.key?(:combining_function) + @conditions = args[:conditions] if args.key?(:conditions) + end + end + + # A condition necessary for an `AccessLevel` to be granted. The Condition is an + # AND over its fields. So a Condition is true if: 1) the request IP is from one + # of the listed subnetworks AND 2) the originating device complies with the + # listed device policy AND 3) all listed access levels are granted AND 4) the + # request was sent at a time allowed by the DateTimeRestriction. + class GoogleIdentityAccesscontextmanagerV1Condition + include Google::Apis::Core::Hashable + + # `DevicePolicy` specifies device specific restrictions necessary to acquire a + # given access level. A `DevicePolicy` specifies requirements for requests from + # devices to be granted access levels, it does not do any enforcement on the + # device. `DevicePolicy` acts as an AND over all specified fields, and each + # repeated field is an OR over its elements. Any unset fields are ignored. For + # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type : + # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be + # true for requests originating from encrypted Linux desktops and encrypted + # Windows desktops. + # Corresponds to the JSON property `devicePolicy` + # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1DevicePolicy] + attr_accessor :device_policy + + # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for + # a CIDR IP address block, the specified IP address portion must be properly + # truncated (i.e. all the host bits must be zero) or the input is considered + # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is + # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas + # "2001:db8::1/32" is not. The originating IP of a request must be in one of + # the listed subnets in order for this Condition to be true. If empty, all IP + # addresses are allowed. + # Corresponds to the JSON property `ipSubnetworks` + # @return [Array] + attr_accessor :ip_subnetworks + + # The request must be made by one of the provided user or service + # accounts. Groups are not supported. + # Syntax: + # `user:`emailid`` + # `serviceAccount:`emailid`` + # If not specified, a request may come from any user. + # Corresponds to the JSON property `members` + # @return [Array] + attr_accessor :members + + # Whether to negate the Condition. If true, the Condition becomes a NAND over + # its non-empty fields, each field must be false for the Condition overall to + # be satisfied. Defaults to false. + # Corresponds to the JSON property `negate` + # @return [Boolean] + attr_accessor :negate + alias_method :negate?, :negate + + # The request must originate from one of the provided countries/regions. + # Must be valid ISO 3166-1 alpha-2 codes. + # Corresponds to the JSON property `regions` + # @return [Array] + attr_accessor :regions + + # A list of other access levels defined in the same `Policy`, referenced by + # resource name. Referencing an `AccessLevel` which does not exist is an + # error. All access levels listed must be granted for the Condition + # to be true. Example: + # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"` + # Corresponds to the JSON property `requiredAccessLevels` + # @return [Array] + attr_accessor :required_access_levels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @device_policy = args[:device_policy] if args.key?(:device_policy) + @ip_subnetworks = args[:ip_subnetworks] if args.key?(:ip_subnetworks) + @members = args[:members] if args.key?(:members) + @negate = args[:negate] if args.key?(:negate) + @regions = args[:regions] if args.key?(:regions) + @required_access_levels = args[:required_access_levels] if args.key?(:required_access_levels) + end + end + + # `DevicePolicy` specifies device specific restrictions necessary to acquire a + # given access level. A `DevicePolicy` specifies requirements for requests from + # devices to be granted access levels, it does not do any enforcement on the + # device. `DevicePolicy` acts as an AND over all specified fields, and each + # repeated field is an OR over its elements. Any unset fields are ignored. For + # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type : + # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be + # true for requests originating from encrypted Linux desktops and encrypted + # Windows desktops. + class GoogleIdentityAccesscontextmanagerV1DevicePolicy + include Google::Apis::Core::Hashable + + # Allowed device management levels, an empty list allows all management + # levels. + # Corresponds to the JSON property `allowedDeviceManagementLevels` + # @return [Array] + attr_accessor :allowed_device_management_levels + + # Allowed encryptions statuses, an empty list allows all statuses. + # Corresponds to the JSON property `allowedEncryptionStatuses` + # @return [Array] + attr_accessor :allowed_encryption_statuses + + # Allowed OS versions, an empty list allows all types and all versions. + # Corresponds to the JSON property `osConstraints` + # @return [Array] + attr_accessor :os_constraints + + # Whether the device needs to be approved by the customer admin. + # Corresponds to the JSON property `requireAdminApproval` + # @return [Boolean] + attr_accessor :require_admin_approval + alias_method :require_admin_approval?, :require_admin_approval + + # Whether the device needs to be corp owned. + # Corresponds to the JSON property `requireCorpOwned` + # @return [Boolean] + attr_accessor :require_corp_owned + alias_method :require_corp_owned?, :require_corp_owned + + # Whether or not screenlock is required for the DevicePolicy to be true. + # Defaults to `false`. + # Corresponds to the JSON property `requireScreenlock` + # @return [Boolean] + attr_accessor :require_screenlock + alias_method :require_screenlock?, :require_screenlock + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allowed_device_management_levels = args[:allowed_device_management_levels] if args.key?(:allowed_device_management_levels) + @allowed_encryption_statuses = args[:allowed_encryption_statuses] if args.key?(:allowed_encryption_statuses) + @os_constraints = args[:os_constraints] if args.key?(:os_constraints) + @require_admin_approval = args[:require_admin_approval] if args.key?(:require_admin_approval) + @require_corp_owned = args[:require_corp_owned] if args.key?(:require_corp_owned) + @require_screenlock = args[:require_screenlock] if args.key?(:require_screenlock) + end + end + + # A restriction on the OS type and version of devices making requests. + class GoogleIdentityAccesscontextmanagerV1OsConstraint + include Google::Apis::Core::Hashable + + # The minimum allowed OS version. If not set, any version of this OS + # satisfies the constraint. Format: `"major.minor.patch"`. + # Examples: `"10.5.301"`, `"9.2.1"`. + # Corresponds to the JSON property `minimumVersion` + # @return [String] + attr_accessor :minimum_version + + # Required. The allowed OS type. + # Corresponds to the JSON property `osType` + # @return [String] + attr_accessor :os_type + + # Only allows requests from devices with a verified Chrome OS. + # Verifications includes requirements that the device is enterprise-managed, + # conformant to Dasher domain policies, and the caller has permission to call + # the API targeted by the request. + # Corresponds to the JSON property `requireVerifiedChromeOs` + # @return [Boolean] + attr_accessor :require_verified_chrome_os + alias_method :require_verified_chrome_os?, :require_verified_chrome_os + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @minimum_version = args[:minimum_version] if args.key?(:minimum_version) + @os_type = args[:os_type] if args.key?(:os_type) + @require_verified_chrome_os = args[:require_verified_chrome_os] if args.key?(:require_verified_chrome_os) + end + end + + # `ServicePerimeter` describes a set of GCP resources which can freely import + # and export data amongst themselves, but not export outside of the + # `ServicePerimeter`. If a request with a source within this `ServicePerimeter` + # has a target outside of the `ServicePerimeter`, the request will be blocked. + # Otherwise the request is allowed. There are two types of Service Perimeter - + # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP + # project can only belong to a single regular Service Perimeter. Service + # Perimeter Bridges can contain only GCP projects as members, a single GCP + # project may belong to multiple Service Perimeter Bridges. + class GoogleIdentityAccesscontextmanagerV1ServicePerimeter + include Google::Apis::Core::Hashable + + # Output only. Time the `ServicePerimeter` was created in UTC. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Description of the `ServicePerimeter` and its use. Does not affect + # behavior. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Required. Resource name for the ServicePerimeter. The `short_name` + # component must begin with a letter and only include alphanumeric and '_'. + # Format: `accessPolicies/`policy_id`/servicePerimeters/`short_name`` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Perimeter type indicator. A single project is + # allowed to be a member of single regular perimeter, but multiple service + # perimeter bridges. A project cannot be a included in a perimeter bridge + # without being included in regular perimeter. For perimeter bridges, + # the restricted service list as well as access level lists must be + # empty. + # Corresponds to the JSON property `perimeterType` + # @return [String] + attr_accessor :perimeter_type + + # `ServicePerimeterConfig` specifies a set of GCP resources that describe + # specific Service Perimeter configuration. + # Corresponds to the JSON property `status` + # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig] + attr_accessor :status + + # Human readable title. Must be unique within the Policy. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + # Output only. Time the `ServicePerimeter` was updated in UTC. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @description = args[:description] if args.key?(:description) + @name = args[:name] if args.key?(:name) + @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type) + @status = args[:status] if args.key?(:status) + @title = args[:title] if args.key?(:title) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # `ServicePerimeterConfig` specifies a set of GCP resources that describe + # specific Service Perimeter configuration. + class GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig + include Google::Apis::Core::Hashable + + # A list of `AccessLevel` resource names that allow resources within the + # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed + # must be in the same policy as this `ServicePerimeter`. Referencing a + # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are + # listed, resources within the perimeter can only be accessed via GCP calls + # with request origins within the perimeter. Example: + # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`. + # For Service Perimeter Bridge, must be empty. + # Corresponds to the JSON property `accessLevels` + # @return [Array] + attr_accessor :access_levels + + # A list of GCP resources that are inside of the service perimeter. + # Currently only projects are allowed. Format: `projects/`project_number`` + # Corresponds to the JSON property `resources` + # @return [Array] + attr_accessor :resources + + # GCP services that are subject to the Service Perimeter restrictions. For + # example, if `storage.googleapis.com` is specified, access to the storage + # buckets inside the perimeter must meet the perimeter's access restrictions. + # Corresponds to the JSON property `restrictedServices` + # @return [Array] + attr_accessor :restricted_services + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @access_levels = args[:access_levels] if args.key?(:access_levels) + @resources = args[:resources] if args.key?(:resources) + @restricted_services = args[:restricted_services] if args.key?(:restricted_services) + end + end + # This resource represents a long-running operation that is the result of a # network API call. class Operation diff --git a/generated/google/apis/cloudasset_v1/representations.rb b/generated/google/apis/cloudasset_v1/representations.rb index 55972dd3c..2027ec375 100644 --- a/generated/google/apis/cloudasset_v1/representations.rb +++ b/generated/google/apis/cloudasset_v1/representations.rb @@ -94,6 +94,54 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GoogleIdentityAccesscontextmanagerV1AccessLevel + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleIdentityAccesscontextmanagerV1AccessPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleIdentityAccesscontextmanagerV1BasicLevel + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleIdentityAccesscontextmanagerV1Condition + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleIdentityAccesscontextmanagerV1DevicePolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleIdentityAccesscontextmanagerV1OsConstraint + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleIdentityAccesscontextmanagerV1ServicePerimeter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Operation class Representation < Google::Apis::Core::JsonRepresentation; end @@ -139,6 +187,10 @@ module Google class Asset # @private class Representation < Google::Apis::Core::JsonRepresentation + property :access_level, as: 'accessLevel', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel::Representation + + property :access_policy, as: 'accessPolicy', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy::Representation + property :asset_type, as: 'assetType' property :iam_policy, as: 'iamPolicy', class: Google::Apis::CloudassetV1::Policy, decorator: Google::Apis::CloudassetV1::Policy::Representation @@ -147,6 +199,8 @@ module Google property :resource, as: 'resource', class: Google::Apis::CloudassetV1::Resource, decorator: Google::Apis::CloudassetV1::Resource::Representation + property :service_perimeter, as: 'servicePerimeter', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter::Representation + end end @@ -255,6 +309,97 @@ module Google end end + class GoogleIdentityAccesscontextmanagerV1AccessLevel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :basic, as: 'basic', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1BasicLevel, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1BasicLevel::Representation + + property :create_time, as: 'createTime' + property :description, as: 'description' + property :name, as: 'name' + property :title, as: 'title' + property :update_time, as: 'updateTime' + end + end + + class GoogleIdentityAccesscontextmanagerV1AccessPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :name, as: 'name' + property :parent, as: 'parent' + property :title, as: 'title' + property :update_time, as: 'updateTime' + end + end + + class GoogleIdentityAccesscontextmanagerV1BasicLevel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :combining_function, as: 'combiningFunction' + collection :conditions, as: 'conditions', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1Condition, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1Condition::Representation + + end + end + + class GoogleIdentityAccesscontextmanagerV1Condition + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :device_policy, as: 'devicePolicy', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1DevicePolicy, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1DevicePolicy::Representation + + collection :ip_subnetworks, as: 'ipSubnetworks' + collection :members, as: 'members' + property :negate, as: 'negate' + collection :regions, as: 'regions' + collection :required_access_levels, as: 'requiredAccessLevels' + end + end + + class GoogleIdentityAccesscontextmanagerV1DevicePolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :allowed_device_management_levels, as: 'allowedDeviceManagementLevels' + collection :allowed_encryption_statuses, as: 'allowedEncryptionStatuses' + collection :os_constraints, as: 'osConstraints', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1OsConstraint, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1OsConstraint::Representation + + property :require_admin_approval, as: 'requireAdminApproval' + property :require_corp_owned, as: 'requireCorpOwned' + property :require_screenlock, as: 'requireScreenlock' + end + end + + class GoogleIdentityAccesscontextmanagerV1OsConstraint + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :minimum_version, as: 'minimumVersion' + property :os_type, as: 'osType' + property :require_verified_chrome_os, as: 'requireVerifiedChromeOs' + end + end + + class GoogleIdentityAccesscontextmanagerV1ServicePerimeter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :description, as: 'description' + property :name, as: 'name' + property :perimeter_type, as: 'perimeterType' + property :status, as: 'status', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig::Representation + + property :title, as: 'title' + property :update_time, as: 'updateTime' + end + end + + class GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :access_levels, as: 'accessLevels' + collection :resources, as: 'resources' + collection :restricted_services, as: 'restrictedServices' + end + end + class Operation # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/cloudshell_v1.rb b/generated/google/apis/cloudshell_v1.rb index 3f12325c1..5d97c618d 100644 --- a/generated/google/apis/cloudshell_v1.rb +++ b/generated/google/apis/cloudshell_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/shell/docs/ module CloudshellV1 VERSION = 'V1' - REVISION = '20190610' + REVISION = '20190724' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudshell_v1/classes.rb b/generated/google/apis/cloudshell_v1/classes.rb index 15d65f9d9..1bd2ea70a 100644 --- a/generated/google/apis/cloudshell_v1/classes.rb +++ b/generated/google/apis/cloudshell_v1/classes.rb @@ -113,6 +113,12 @@ module Google # @return [String] attr_accessor :state + # Output only. Host to which clients can connect to initiate HTTPS or WSS + # connections with the environment. + # Corresponds to the JSON property `webHost` + # @return [String] + attr_accessor :web_host + def initialize(**args) update!(**args) end @@ -127,6 +133,7 @@ module Google @ssh_port = args[:ssh_port] if args.key?(:ssh_port) @ssh_username = args[:ssh_username] if args.key?(:ssh_username) @state = args[:state] if args.key?(:state) + @web_host = args[:web_host] if args.key?(:web_host) end end diff --git a/generated/google/apis/cloudshell_v1/representations.rb b/generated/google/apis/cloudshell_v1/representations.rb index c0f902698..aa77472f5 100644 --- a/generated/google/apis/cloudshell_v1/representations.rb +++ b/generated/google/apis/cloudshell_v1/representations.rb @@ -100,6 +100,7 @@ module Google property :ssh_port, as: 'sshPort' property :ssh_username, as: 'sshUsername' property :state, as: 'state' + property :web_host, as: 'webHost' end end diff --git a/generated/google/apis/cloudshell_v1alpha1.rb b/generated/google/apis/cloudshell_v1alpha1.rb index ce5678edf..8692e546c 100644 --- a/generated/google/apis/cloudshell_v1alpha1.rb +++ b/generated/google/apis/cloudshell_v1alpha1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/shell/docs/ module CloudshellV1alpha1 VERSION = 'V1alpha1' - REVISION = '20190610' + REVISION = '20190724' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudshell_v1alpha1/classes.rb b/generated/google/apis/cloudshell_v1alpha1/classes.rb index 17d737660..907ceaec8 100644 --- a/generated/google/apis/cloudshell_v1alpha1/classes.rb +++ b/generated/google/apis/cloudshell_v1alpha1/classes.rb @@ -151,6 +151,12 @@ module Google # @return [String] attr_accessor :state + # Output only. Host to which clients can connect to initiate HTTPS or WSS + # connections with the environment. + # Corresponds to the JSON property `webHost` + # @return [String] + attr_accessor :web_host + def initialize(**args) update!(**args) end @@ -165,6 +171,7 @@ module Google @ssh_port = args[:ssh_port] if args.key?(:ssh_port) @ssh_username = args[:ssh_username] if args.key?(:ssh_username) @state = args[:state] if args.key?(:state) + @web_host = args[:web_host] if args.key?(:web_host) end end diff --git a/generated/google/apis/cloudshell_v1alpha1/representations.rb b/generated/google/apis/cloudshell_v1alpha1/representations.rb index bc5a51c4b..32183e382 100644 --- a/generated/google/apis/cloudshell_v1alpha1/representations.rb +++ b/generated/google/apis/cloudshell_v1alpha1/representations.rb @@ -117,6 +117,7 @@ module Google property :ssh_port, as: 'sshPort' property :ssh_username, as: 'sshUsername' property :state, as: 'state' + property :web_host, as: 'webHost' end end diff --git a/generated/google/apis/container_v1beta1.rb b/generated/google/apis/container_v1beta1.rb index ed19ca4ee..3137c2d11 100644 --- a/generated/google/apis/container_v1beta1.rb +++ b/generated/google/apis/container_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/container-engine/ module ContainerV1beta1 VERSION = 'V1beta1' - REVISION = '20190610' + REVISION = '20190628' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/container_v1beta1/classes.rb b/generated/google/apis/container_v1beta1/classes.rb index ff2d804f8..0a953bd19 100644 --- a/generated/google/apis/container_v1beta1/classes.rb +++ b/generated/google/apis/container_v1beta1/classes.rb @@ -656,6 +656,11 @@ module Google # @return [String] attr_accessor :services_ipv4_cidr + # Configuration of Shielded Nodes feature. + # Corresponds to the JSON property `shieldedNodes` + # @return [Google::Apis::ContainerV1beta1::ShieldedNodes] + attr_accessor :shielded_nodes + # [Output only] The current status of this cluster. # Corresponds to the JSON property `status` # @return [String] @@ -759,6 +764,7 @@ module Google @resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config) @self_link = args[:self_link] if args.key?(:self_link) @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr) + @shielded_nodes = args[:shielded_nodes] if args.key?(:shielded_nodes) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @@ -949,6 +955,11 @@ module Google # @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig] attr_accessor :desired_resource_usage_export_config + # Configuration of Shielded Nodes feature. + # Corresponds to the JSON property `desiredShieldedNodes` + # @return [Google::Apis::ContainerV1beta1::ShieldedNodes] + attr_accessor :desired_shielded_nodes + # VerticalPodAutoscaling contains global, per-cluster information # required by Vertical Pod Autoscaler to automatically adjust # the resources of pods controlled by it. @@ -985,6 +996,7 @@ module Google @desired_pod_security_policy_config = args[:desired_pod_security_policy_config] if args.key?(:desired_pod_security_policy_config) @desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config) @desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config) + @desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes) @desired_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling) @desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config) end @@ -1231,6 +1243,11 @@ module Google class GetJsonWebKeysResponse include Google::Apis::Core::Hashable + # RFC-2616: cache control support + # Corresponds to the JSON property `cacheHeader` + # @return [Google::Apis::ContainerV1beta1::HttpCacheControlResponseHeader] + attr_accessor :cache_header + # The public component of the keys used by the cluster to sign token # requests. # Corresponds to the JSON property `keys` @@ -1243,6 +1260,7 @@ module Google # Update properties of this object def update!(**args) + @cache_header = args[:cache_header] if args.key?(:cache_header) @keys = args[:keys] if args.key?(:keys) end end @@ -1252,6 +1270,11 @@ module Google class GetOpenIdConfigResponse include Google::Apis::Core::Hashable + # RFC-2616: cache control support + # Corresponds to the JSON property `cacheHeader` + # @return [Google::Apis::ContainerV1beta1::HttpCacheControlResponseHeader] + attr_accessor :cache_header + # Supported claims. # Corresponds to the JSON property `claims_supported` # @return [Array] @@ -1293,6 +1316,7 @@ module Google # Update properties of this object def update!(**args) + @cache_header = args[:cache_header] if args.key?(:cache_header) @claims_supported = args[:claims_supported] if args.key?(:claims_supported) @grant_types = args[:grant_types] if args.key?(:grant_types) @id_token_signing_alg_values_supported = args[:id_token_signing_alg_values_supported] if args.key?(:id_token_signing_alg_values_supported) @@ -1327,6 +1351,37 @@ module Google end end + # RFC-2616: cache control support + class HttpCacheControlResponseHeader + include Google::Apis::Core::Hashable + + # 14.6 response cache age, in seconds since the response is generated + # Corresponds to the JSON property `age` + # @return [Fixnum] + attr_accessor :age + + # 14.9 request and response directives + # Corresponds to the JSON property `directive` + # @return [String] + attr_accessor :directive + + # 14.21 response cache expires, in RFC 1123 date format + # Corresponds to the JSON property `expires` + # @return [String] + attr_accessor :expires + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @age = args[:age] if args.key?(:age) + @directive = args[:directive] if args.key?(:directive) + @expires = args[:expires] if args.key?(:expires) + end + end + # Configuration options for the HTTP (L7) load balancing controller addon, # which makes it easy to set up HTTP load balancers for services in a cluster. class HttpLoadBalancing @@ -3616,6 +3671,26 @@ module Google end end + # Configuration of Shielded Nodes feature. + class ShieldedNodes + include Google::Apis::Core::Hashable + + # Whether Shielded Nodes features are enabled on all nodes in this cluster. + # Corresponds to the JSON property `enabled` + # @return [Boolean] + attr_accessor :enabled + alias_method :enabled?, :enabled + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @enabled = args[:enabled] if args.key?(:enabled) + end + end + # StartIPRotationRequest creates a new IP for the cluster and then performs # a node upgrade on each node pool to point to the new IP. class StartIpRotationRequest diff --git a/generated/google/apis/container_v1beta1/representations.rb b/generated/google/apis/container_v1beta1/representations.rb index 310b841b9..ff6719c46 100644 --- a/generated/google/apis/container_v1beta1/representations.rb +++ b/generated/google/apis/container_v1beta1/representations.rb @@ -166,6 +166,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class HttpCacheControlResponseHeader + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class HttpLoadBalancing class Representation < Google::Apis::Core::JsonRepresentation; end @@ -460,6 +466,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ShieldedNodes + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class StartIpRotationRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -689,6 +701,8 @@ module Google property :self_link, as: 'selfLink' property :services_ipv4_cidr, as: 'servicesIpv4Cidr' + property :shielded_nodes, as: 'shieldedNodes', class: Google::Apis::ContainerV1beta1::ShieldedNodes, decorator: Google::Apis::ContainerV1beta1::ShieldedNodes::Representation + property :status, as: 'status' property :status_message, as: 'statusMessage' property :subnetwork, as: 'subnetwork' @@ -745,6 +759,8 @@ module Google property :desired_resource_usage_export_config, as: 'desiredResourceUsageExportConfig', class: Google::Apis::ContainerV1beta1::ResourceUsageExportConfig, decorator: Google::Apis::ContainerV1beta1::ResourceUsageExportConfig::Representation + property :desired_shielded_nodes, as: 'desiredShieldedNodes', class: Google::Apis::ContainerV1beta1::ShieldedNodes, decorator: Google::Apis::ContainerV1beta1::ShieldedNodes::Representation + property :desired_vertical_pod_autoscaling, as: 'desiredVerticalPodAutoscaling', class: Google::Apis::ContainerV1beta1::VerticalPodAutoscaling, decorator: Google::Apis::ContainerV1beta1::VerticalPodAutoscaling::Representation property :desired_workload_identity_config, as: 'desiredWorkloadIdentityConfig', class: Google::Apis::ContainerV1beta1::WorkloadIdentityConfig, decorator: Google::Apis::ContainerV1beta1::WorkloadIdentityConfig::Representation @@ -817,6 +833,8 @@ module Google class GetJsonWebKeysResponse # @private class Representation < Google::Apis::Core::JsonRepresentation + property :cache_header, as: 'cacheHeader', class: Google::Apis::ContainerV1beta1::HttpCacheControlResponseHeader, decorator: Google::Apis::ContainerV1beta1::HttpCacheControlResponseHeader::Representation + collection :keys, as: 'keys', class: Google::Apis::ContainerV1beta1::Jwk, decorator: Google::Apis::ContainerV1beta1::Jwk::Representation end @@ -825,6 +843,8 @@ module Google class GetOpenIdConfigResponse # @private class Representation < Google::Apis::Core::JsonRepresentation + property :cache_header, as: 'cacheHeader', class: Google::Apis::ContainerV1beta1::HttpCacheControlResponseHeader, decorator: Google::Apis::ContainerV1beta1::HttpCacheControlResponseHeader::Representation + collection :claims_supported, as: 'claims_supported' collection :grant_types, as: 'grant_types' collection :id_token_signing_alg_values_supported, as: 'id_token_signing_alg_values_supported' @@ -842,6 +862,15 @@ module Google end end + class HttpCacheControlResponseHeader + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :age, :numeric_string => true, as: 'age' + property :directive, as: 'directive' + property :expires, as: 'expires' + end + end + class HttpLoadBalancing # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1380,6 +1409,13 @@ module Google end end + class ShieldedNodes + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :enabled, as: 'enabled' + end + end + class StartIpRotationRequest # @private class Representation < Google::Apis::Core::JsonRepresentation