google-apis-compute_beta 0.66.0 → 0.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
| @@ -567,6 +567,12 @@ module Google | |
| 567 567 | 
             
                    # @return [String]
         | 
| 568 568 | 
             
                    attr_accessor :public_ptr_domain_name
         | 
| 569 569 |  | 
| 570 | 
            +
                    # [Output Only] The resource URL for the security policy associated with this
         | 
| 571 | 
            +
                    # access config.
         | 
| 572 | 
            +
                    # Corresponds to the JSON property `securityPolicy`
         | 
| 573 | 
            +
                    # @return [String]
         | 
| 574 | 
            +
                    attr_accessor :security_policy
         | 
| 575 | 
            +
                  
         | 
| 570 576 | 
             
                    # Specifies whether a public DNS 'PTR' record should be created to map the
         | 
| 571 577 | 
             
                    # external IP address of the instance to a DNS domain name. This field is not
         | 
| 572 578 | 
             
                    # used in ipv6AccessConfig. A default PTR record will be created if the VM has
         | 
| @@ -596,6 +602,7 @@ module Google | |
| 596 602 | 
             
                      @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
         | 
| 597 603 | 
             
                      @network_tier = args[:network_tier] if args.key?(:network_tier)
         | 
| 598 604 | 
             
                      @public_ptr_domain_name = args[:public_ptr_domain_name] if args.key?(:public_ptr_domain_name)
         | 
| 605 | 
            +
                      @security_policy = args[:security_policy] if args.key?(:security_policy)
         | 
| 599 606 | 
             
                      @set_public_ptr = args[:set_public_ptr] if args.key?(:set_public_ptr)
         | 
| 600 607 | 
             
                      @type = args[:type] if args.key?(:type)
         | 
| 601 608 | 
             
                    end
         | 
| @@ -3490,6 +3497,12 @@ module Google | |
| 3490 3497 | 
             
                    # @return [Google::Apis::ComputeBeta::Duration]
         | 
| 3491 3498 | 
             
                    attr_accessor :max_stream_duration
         | 
| 3492 3499 |  | 
| 3500 | 
            +
                    # Deployment metadata associated with the resource to be set by a GKE hub
         | 
| 3501 | 
            +
                    # controller and read by the backend RCTH
         | 
| 3502 | 
            +
                    # Corresponds to the JSON property `metadatas`
         | 
| 3503 | 
            +
                    # @return [Hash<String,String>]
         | 
| 3504 | 
            +
                    attr_accessor :metadatas
         | 
| 3505 | 
            +
                  
         | 
| 3493 3506 | 
             
                    # Name of the resource. Provided by the client when the resource is created. The
         | 
| 3494 3507 | 
             
                    # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
         | 
| 3495 3508 | 
             
                    # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
         | 
| @@ -3629,6 +3642,7 @@ module Google | |
| 3629 3642 | 
             
                      @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
         | 
| 3630 3643 | 
             
                      @log_config = args[:log_config] if args.key?(:log_config)
         | 
| 3631 3644 | 
             
                      @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
         | 
| 3645 | 
            +
                      @metadatas = args[:metadatas] if args.key?(:metadatas)
         | 
| 3632 3646 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 3633 3647 | 
             
                      @network = args[:network] if args.key?(:network)
         | 
| 3634 3648 | 
             
                      @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
         | 
| @@ -4973,6 +4987,12 @@ module Google | |
| 4973 4987 | 
             
                  class BulkInsertInstanceResourcePerInstanceProperties
         | 
| 4974 4988 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 4975 4989 |  | 
| 4990 | 
            +
                    # Specifies the hostname of the instance. More details in: https://cloud.google.
         | 
| 4991 | 
            +
                    # com/compute/docs/instances/custom-hostname-vm#naming_convention
         | 
| 4992 | 
            +
                    # Corresponds to the JSON property `hostname`
         | 
| 4993 | 
            +
                    # @return [String]
         | 
| 4994 | 
            +
                    attr_accessor :hostname
         | 
| 4995 | 
            +
                  
         | 
| 4976 4996 | 
             
                    # This field is only temporary. It will be removed. Do not use it.
         | 
| 4977 4997 | 
             
                    # Corresponds to the JSON property `name`
         | 
| 4978 4998 | 
             
                    # @return [String]
         | 
| @@ -4984,6 +5004,7 @@ module Google | |
| 4984 5004 |  | 
| 4985 5005 | 
             
                    # Update properties of this object
         | 
| 4986 5006 | 
             
                    def update!(**args)
         | 
| 5007 | 
            +
                      @hostname = args[:hostname] if args.key?(:hostname)
         | 
| 4987 5008 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 4988 5009 | 
             
                    end
         | 
| 4989 5010 | 
             
                  end
         | 
| @@ -5278,7 +5299,7 @@ module Google | |
| 5278 5299 | 
             
                    # @return [String]
         | 
| 5279 5300 | 
             
                    attr_accessor :self_link
         | 
| 5280 5301 |  | 
| 5281 | 
            -
                    # Source commitment to be  | 
| 5302 | 
            +
                    # Source commitment to be split into a new commitment.
         | 
| 5282 5303 | 
             
                    # Corresponds to the JSON property `splitSourceCommitment`
         | 
| 5283 5304 | 
             
                    # @return [String]
         | 
| 5284 5305 | 
             
                    attr_accessor :split_source_commitment
         | 
| @@ -9107,6 +9128,14 @@ module Google | |
| 9107 9128 | 
             
                    # @return [Fixnum]
         | 
| 9108 9129 | 
             
                    attr_accessor :rule_tuple_count
         | 
| 9109 9130 |  | 
| 9131 | 
            +
                    # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
         | 
| 9132 | 
            +
                    # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
         | 
| 9133 | 
            +
                    # securityProfileGroups/my-security-profile-group Must be specified if action = '
         | 
| 9134 | 
            +
                    # apply_security_profile_group' and cannot be specified for other actions.
         | 
| 9135 | 
            +
                    # Corresponds to the JSON property `securityProfileGroup`
         | 
| 9136 | 
            +
                    # @return [String]
         | 
| 9137 | 
            +
                    attr_accessor :security_profile_group
         | 
| 9138 | 
            +
                  
         | 
| 9110 9139 | 
             
                    # A list of network resource URLs to which this rule applies. This field allows
         | 
| 9111 9140 | 
             
                    # you to control which network's VMs get this rule. If this field is left blank,
         | 
| 9112 9141 | 
             
                    # all VMs within the organization will receive the rule.
         | 
| @@ -9132,6 +9161,14 @@ module Google | |
| 9132 9161 | 
             
                    # @return [Array<String>]
         | 
| 9133 9162 | 
             
                    attr_accessor :target_service_accounts
         | 
| 9134 9163 |  | 
| 9164 | 
            +
                    # Boolean flag indicating if the traffic should be TLS decrypted. Can be set
         | 
| 9165 | 
            +
                    # only if action = 'apply_security_profile_group' and cannot be set for other
         | 
| 9166 | 
            +
                    # actions.
         | 
| 9167 | 
            +
                    # Corresponds to the JSON property `tlsInspect`
         | 
| 9168 | 
            +
                    # @return [Boolean]
         | 
| 9169 | 
            +
                    attr_accessor :tls_inspect
         | 
| 9170 | 
            +
                    alias_method :tls_inspect?, :tls_inspect
         | 
| 9171 | 
            +
                  
         | 
| 9135 9172 | 
             
                    def initialize(**args)
         | 
| 9136 9173 | 
             
                       update!(**args)
         | 
| 9137 9174 | 
             
                    end
         | 
| @@ -9148,9 +9185,11 @@ module Google | |
| 9148 9185 | 
             
                      @priority = args[:priority] if args.key?(:priority)
         | 
| 9149 9186 | 
             
                      @rule_name = args[:rule_name] if args.key?(:rule_name)
         | 
| 9150 9187 | 
             
                      @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
         | 
| 9188 | 
            +
                      @security_profile_group = args[:security_profile_group] if args.key?(:security_profile_group)
         | 
| 9151 9189 | 
             
                      @target_resources = args[:target_resources] if args.key?(:target_resources)
         | 
| 9152 9190 | 
             
                      @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
         | 
| 9153 9191 | 
             
                      @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
         | 
| 9192 | 
            +
                      @tls_inspect = args[:tls_inspect] if args.key?(:tls_inspect)
         | 
| 9154 9193 | 
             
                    end
         | 
| 9155 9194 | 
             
                  end
         | 
| 9156 9195 |  | 
| @@ -11689,6 +11728,12 @@ module Google | |
| 11689 11728 | 
             
                    # @return [String]
         | 
| 11690 11729 | 
             
                    attr_accessor :health_state
         | 
| 11691 11730 |  | 
| 11731 | 
            +
                    # Health state of the ipv6 network endpoint determined based on the health
         | 
| 11732 | 
            +
                    # checks configured.
         | 
| 11733 | 
            +
                    # Corresponds to the JSON property `ipv6HealthState`
         | 
| 11734 | 
            +
                    # @return [String]
         | 
| 11735 | 
            +
                    attr_accessor :ipv6_health_state
         | 
| 11736 | 
            +
                  
         | 
| 11692 11737 | 
             
                    def initialize(**args)
         | 
| 11693 11738 | 
             
                       update!(**args)
         | 
| 11694 11739 | 
             
                    end
         | 
| @@ -11700,6 +11745,7 @@ module Google | |
| 11700 11745 | 
             
                      @health_check = args[:health_check] if args.key?(:health_check)
         | 
| 11701 11746 | 
             
                      @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
         | 
| 11702 11747 | 
             
                      @health_state = args[:health_state] if args.key?(:health_state)
         | 
| 11748 | 
            +
                      @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state)
         | 
| 11703 11749 | 
             
                    end
         | 
| 11704 11750 | 
             
                  end
         | 
| 11705 11751 |  | 
| @@ -17694,6 +17740,34 @@ module Google | |
| 17694 17740 | 
             
                    end
         | 
| 17695 17741 | 
             
                  end
         | 
| 17696 17742 |  | 
| 17743 | 
            +
                  # 
         | 
| 17744 | 
            +
                  class InstancesSetSecurityPolicyRequest
         | 
| 17745 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 17746 | 
            +
                  
         | 
| 17747 | 
            +
                    # The network interfaces that the security policy will be applied to. Network
         | 
| 17748 | 
            +
                    # interfaces use the nicN naming format. You can only set a security policy for
         | 
| 17749 | 
            +
                    # network interfaces with an access config.
         | 
| 17750 | 
            +
                    # Corresponds to the JSON property `networkInterfaces`
         | 
| 17751 | 
            +
                    # @return [Array<String>]
         | 
| 17752 | 
            +
                    attr_accessor :network_interfaces
         | 
| 17753 | 
            +
                  
         | 
| 17754 | 
            +
                    # A full or partial URL to a security policy to add to this instance. If this
         | 
| 17755 | 
            +
                    # field is set to an empty string it will remove the associated security policy.
         | 
| 17756 | 
            +
                    # Corresponds to the JSON property `securityPolicy`
         | 
| 17757 | 
            +
                    # @return [String]
         | 
| 17758 | 
            +
                    attr_accessor :security_policy
         | 
| 17759 | 
            +
                  
         | 
| 17760 | 
            +
                    def initialize(**args)
         | 
| 17761 | 
            +
                       update!(**args)
         | 
| 17762 | 
            +
                    end
         | 
| 17763 | 
            +
                  
         | 
| 17764 | 
            +
                    # Update properties of this object
         | 
| 17765 | 
            +
                    def update!(**args)
         | 
| 17766 | 
            +
                      @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
         | 
| 17767 | 
            +
                      @security_policy = args[:security_policy] if args.key?(:security_policy)
         | 
| 17768 | 
            +
                    end
         | 
| 17769 | 
            +
                  end
         | 
| 17770 | 
            +
                  
         | 
| 17697 17771 | 
             
                  # 
         | 
| 17698 17772 | 
             
                  class InstancesSetServiceAccountRequest
         | 
| 17699 17773 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -17924,6 +17998,12 @@ module Google | |
| 17924 17998 | 
             
                    # @return [Fixnum]
         | 
| 17925 17999 | 
             
                    attr_accessor :provisioned_link_count
         | 
| 17926 18000 |  | 
| 18001 | 
            +
                    # Indicates that this is a Cross-Cloud Interconnect. This field specifies the
         | 
| 18002 | 
            +
                    # location outside of Google's network that the interconnect is connected to.
         | 
| 18003 | 
            +
                    # Corresponds to the JSON property `remoteLocation`
         | 
| 18004 | 
            +
                    # @return [String]
         | 
| 18005 | 
            +
                    attr_accessor :remote_location
         | 
| 18006 | 
            +
                  
         | 
| 17927 18007 | 
             
                    # Target number of physical links in the link bundle, as requested by the
         | 
| 17928 18008 | 
             
                    # customer.
         | 
| 17929 18009 | 
             
                    # Corresponds to the JSON property `requestedLinkCount`
         | 
| @@ -17979,6 +18059,7 @@ module Google | |
| 17979 18059 | 
             
                      @operational_status = args[:operational_status] if args.key?(:operational_status)
         | 
| 17980 18060 | 
             
                      @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
         | 
| 17981 18061 | 
             
                      @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
         | 
| 18062 | 
            +
                      @remote_location = args[:remote_location] if args.key?(:remote_location)
         | 
| 17982 18063 | 
             
                      @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
         | 
| 17983 18064 | 
             
                      @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
         | 
| 17984 18065 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| @@ -18046,6 +18127,12 @@ module Google | |
| 18046 18127 | 
             
                    # @return [String]
         | 
| 18047 18128 | 
             
                    attr_accessor :cloud_router_ipv6_interface_id
         | 
| 18048 18129 |  | 
| 18130 | 
            +
                    # [Output Only] Constraints for this attachment, if any. The attachment does not
         | 
| 18131 | 
            +
                    # work if these constraints are not met.
         | 
| 18132 | 
            +
                    # Corresponds to the JSON property `configurationConstraints`
         | 
| 18133 | 
            +
                    # @return [Google::Apis::ComputeBeta::InterconnectAttachmentConfigurationConstraints]
         | 
| 18134 | 
            +
                    attr_accessor :configuration_constraints
         | 
| 18135 | 
            +
                  
         | 
| 18049 18136 | 
             
                    # [Output Only] Creation timestamp in RFC3339 text format.
         | 
| 18050 18137 | 
             
                    # Corresponds to the JSON property `creationTimestamp`
         | 
| 18051 18138 | 
             
                    # @return [String]
         | 
| @@ -18227,6 +18314,15 @@ module Google | |
| 18227 18314 | 
             
                    # @return [String]
         | 
| 18228 18315 | 
             
                    attr_accessor :region
         | 
| 18229 18316 |  | 
| 18317 | 
            +
                    # [Output Only] If the attachment is on a Cross-Cloud Interconnect connection,
         | 
| 18318 | 
            +
                    # this field contains the interconnect's remote location service provider.
         | 
| 18319 | 
            +
                    # Example values: "Amazon Web Services" "Microsoft Azure". The field is set only
         | 
| 18320 | 
            +
                    # for attachments on Cross-Cloud Interconnect connections. Its value is copied
         | 
| 18321 | 
            +
                    # from the InterconnectRemoteLocation remoteService field.
         | 
| 18322 | 
            +
                    # Corresponds to the JSON property `remoteService`
         | 
| 18323 | 
            +
                    # @return [String]
         | 
| 18324 | 
            +
                    attr_accessor :remote_service
         | 
| 18325 | 
            +
                  
         | 
| 18230 18326 | 
             
                    # URL of the Cloud Router to be used for dynamic routing. This router must be in
         | 
| 18231 18327 | 
             
                    # the same region as this InterconnectAttachment. The InterconnectAttachment
         | 
| 18232 18328 | 
             
                    # will automatically connect the Interconnect to the network & region within
         | 
| @@ -18273,6 +18369,17 @@ module Google | |
| 18273 18369 | 
             
                    # @return [String]
         | 
| 18274 18370 | 
             
                    attr_accessor :state
         | 
| 18275 18371 |  | 
| 18372 | 
            +
                    # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
         | 
| 18373 | 
            +
                    # default value is 29, except for Cross-Cloud Interconnect connections that use
         | 
| 18374 | 
            +
                    # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
         | 
| 18375 | 
            +
                    # to 30. For example, connections that use an Azure remote location fall into
         | 
| 18376 | 
            +
                    # this category. In these cases, the default value is 30, and requesting 29
         | 
| 18377 | 
            +
                    # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
         | 
| 18378 | 
            +
                    # it gives Google Cloud Support more debugging visibility.
         | 
| 18379 | 
            +
                    # Corresponds to the JSON property `subnetLength`
         | 
| 18380 | 
            +
                    # @return [Fixnum]
         | 
| 18381 | 
            +
                    attr_accessor :subnet_length
         | 
| 18382 | 
            +
                  
         | 
| 18276 18383 | 
             
                    # The type of interconnect attachment this is, which can take one of the
         | 
| 18277 18384 | 
             
                    # following values: - DEDICATED: an attachment to a Dedicated Interconnect. -
         | 
| 18278 18385 | 
             
                    # PARTNER: an attachment to a Partner Interconnect, created by the customer. -
         | 
| @@ -18301,6 +18408,7 @@ module Google | |
| 18301 18408 | 
             
                      @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
         | 
| 18302 18409 | 
             
                      @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
         | 
| 18303 18410 | 
             
                      @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
         | 
| 18411 | 
            +
                      @configuration_constraints = args[:configuration_constraints] if args.key?(:configuration_constraints)
         | 
| 18304 18412 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 18305 18413 | 
             
                      @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
         | 
| 18306 18414 | 
             
                      @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
         | 
| @@ -18324,11 +18432,13 @@ module Google | |
| 18324 18432 | 
             
                      @partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
         | 
| 18325 18433 | 
             
                      @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
         | 
| 18326 18434 | 
             
                      @region = args[:region] if args.key?(:region)
         | 
| 18435 | 
            +
                      @remote_service = args[:remote_service] if args.key?(:remote_service)
         | 
| 18327 18436 | 
             
                      @router = args[:router] if args.key?(:router)
         | 
| 18328 18437 | 
             
                      @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
         | 
| 18329 18438 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 18330 18439 | 
             
                      @stack_type = args[:stack_type] if args.key?(:stack_type)
         | 
| 18331 18440 | 
             
                      @state = args[:state] if args.key?(:state)
         | 
| 18441 | 
            +
                      @subnet_length = args[:subnet_length] if args.key?(:subnet_length)
         | 
| 18332 18442 | 
             
                      @type = args[:type] if args.key?(:type)
         | 
| 18333 18443 | 
             
                      @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
         | 
| 18334 18444 | 
             
                    end
         | 
| @@ -18459,6 +18569,68 @@ module Google | |
| 18459 18569 | 
             
                    end
         | 
| 18460 18570 | 
             
                  end
         | 
| 18461 18571 |  | 
| 18572 | 
            +
                  # 
         | 
| 18573 | 
            +
                  class InterconnectAttachmentConfigurationConstraints
         | 
| 18574 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 18575 | 
            +
                  
         | 
| 18576 | 
            +
                    # [Output Only] Whether the attachment's BGP session requires/allows/disallows
         | 
| 18577 | 
            +
                    # BGP MD5 authentication. This can take one of the following values:
         | 
| 18578 | 
            +
                    # MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud
         | 
| 18579 | 
            +
                    # Interconnect connection to a remote cloud provider that requires BGP MD5
         | 
| 18580 | 
            +
                    # authentication has the interconnectRemoteLocation
         | 
| 18581 | 
            +
                    # attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and
         | 
| 18582 | 
            +
                    # that property is propagated to the attachment. Similarly, if BGP MD5 is
         | 
| 18583 | 
            +
                    # MD5_UNSUPPORTED, an error is returned if MD5 is requested.
         | 
| 18584 | 
            +
                    # Corresponds to the JSON property `bgpMd5`
         | 
| 18585 | 
            +
                    # @return [String]
         | 
| 18586 | 
            +
                    attr_accessor :bgp_md5
         | 
| 18587 | 
            +
                  
         | 
| 18588 | 
            +
                    # [Output Only] List of ASN ranges that the remote location is known to support.
         | 
| 18589 | 
            +
                    # Formatted as an array of inclusive ranges `min: min-value, max: max-value`.
         | 
| 18590 | 
            +
                    # For example, [`min: 123, max: 123`, `min: 64512, max: 65534`] allows the peer
         | 
| 18591 | 
            +
                    # ASN to be 123 or anything in the range 64512-65534. This field is only
         | 
| 18592 | 
            +
                    # advisory. Although the API accepts other ranges, these are the ranges that we
         | 
| 18593 | 
            +
                    # recommend.
         | 
| 18594 | 
            +
                    # Corresponds to the JSON property `bgpPeerAsnRanges`
         | 
| 18595 | 
            +
                    # @return [Array<Google::Apis::ComputeBeta::InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange>]
         | 
| 18596 | 
            +
                    attr_accessor :bgp_peer_asn_ranges
         | 
| 18597 | 
            +
                  
         | 
| 18598 | 
            +
                    def initialize(**args)
         | 
| 18599 | 
            +
                       update!(**args)
         | 
| 18600 | 
            +
                    end
         | 
| 18601 | 
            +
                  
         | 
| 18602 | 
            +
                    # Update properties of this object
         | 
| 18603 | 
            +
                    def update!(**args)
         | 
| 18604 | 
            +
                      @bgp_md5 = args[:bgp_md5] if args.key?(:bgp_md5)
         | 
| 18605 | 
            +
                      @bgp_peer_asn_ranges = args[:bgp_peer_asn_ranges] if args.key?(:bgp_peer_asn_ranges)
         | 
| 18606 | 
            +
                    end
         | 
| 18607 | 
            +
                  end
         | 
| 18608 | 
            +
                  
         | 
| 18609 | 
            +
                  # 
         | 
| 18610 | 
            +
                  class InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange
         | 
| 18611 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 18612 | 
            +
                  
         | 
| 18613 | 
            +
                    # 
         | 
| 18614 | 
            +
                    # Corresponds to the JSON property `max`
         | 
| 18615 | 
            +
                    # @return [Fixnum]
         | 
| 18616 | 
            +
                    attr_accessor :max
         | 
| 18617 | 
            +
                  
         | 
| 18618 | 
            +
                    # 
         | 
| 18619 | 
            +
                    # Corresponds to the JSON property `min`
         | 
| 18620 | 
            +
                    # @return [Fixnum]
         | 
| 18621 | 
            +
                    attr_accessor :min
         | 
| 18622 | 
            +
                  
         | 
| 18623 | 
            +
                    def initialize(**args)
         | 
| 18624 | 
            +
                       update!(**args)
         | 
| 18625 | 
            +
                    end
         | 
| 18626 | 
            +
                  
         | 
| 18627 | 
            +
                    # Update properties of this object
         | 
| 18628 | 
            +
                    def update!(**args)
         | 
| 18629 | 
            +
                      @max = args[:max] if args.key?(:max)
         | 
| 18630 | 
            +
                      @min = args[:min] if args.key?(:min)
         | 
| 18631 | 
            +
                    end
         | 
| 18632 | 
            +
                  end
         | 
| 18633 | 
            +
                  
         | 
| 18462 18634 | 
             
                  # Response to the list request, and contains a list of interconnect attachments.
         | 
| 18463 18635 | 
             
                  class InterconnectAttachmentList
         | 
| 18464 18636 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -19429,6 +19601,371 @@ module Google | |
| 19429 19601 | 
             
                    end
         | 
| 19430 19602 | 
             
                  end
         | 
| 19431 19603 |  | 
| 19604 | 
            +
                  # Represents a Cross-Cloud Interconnect Remote Location resource. You can use
         | 
| 19605 | 
            +
                  # this resource to find remote location details about an Interconnect attachment
         | 
| 19606 | 
            +
                  # (VLAN).
         | 
| 19607 | 
            +
                  class InterconnectRemoteLocation
         | 
| 19608 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 19609 | 
            +
                  
         | 
| 19610 | 
            +
                    # [Output Only] The postal address of the Point of Presence, each line in the
         | 
| 19611 | 
            +
                    # address is separated by a newline character.
         | 
| 19612 | 
            +
                    # Corresponds to the JSON property `address`
         | 
| 19613 | 
            +
                    # @return [String]
         | 
| 19614 | 
            +
                    attr_accessor :address
         | 
| 19615 | 
            +
                  
         | 
| 19616 | 
            +
                    # [Output Only] Subset of fields from InterconnectAttachment's |
         | 
| 19617 | 
            +
                    # configurationConstraints| field that apply to all attachments for this remote
         | 
| 19618 | 
            +
                    # location.
         | 
| 19619 | 
            +
                    # Corresponds to the JSON property `attachmentConfigurationConstraints`
         | 
| 19620 | 
            +
                    # @return [Google::Apis::ComputeBeta::InterconnectAttachmentConfigurationConstraints]
         | 
| 19621 | 
            +
                    attr_accessor :attachment_configuration_constraints
         | 
| 19622 | 
            +
                  
         | 
| 19623 | 
            +
                    # [Output Only] Metropolitan area designator that indicates which city an
         | 
| 19624 | 
            +
                    # interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
         | 
| 19625 | 
            +
                    # Corresponds to the JSON property `city`
         | 
| 19626 | 
            +
                    # @return [String]
         | 
| 19627 | 
            +
                    attr_accessor :city
         | 
| 19628 | 
            +
                  
         | 
| 19629 | 
            +
                    # [Output Only] Constraints on the parameters for creating Cross-Cloud
         | 
| 19630 | 
            +
                    # Interconnect and associated InterconnectAttachments.
         | 
| 19631 | 
            +
                    # Corresponds to the JSON property `constraints`
         | 
| 19632 | 
            +
                    # @return [Google::Apis::ComputeBeta::InterconnectRemoteLocationConstraints]
         | 
| 19633 | 
            +
                    attr_accessor :constraints
         | 
| 19634 | 
            +
                  
         | 
| 19635 | 
            +
                    # [Output Only] Continent for this location, which can take one of the following
         | 
| 19636 | 
            +
                    # values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
         | 
| 19637 | 
            +
                    # Corresponds to the JSON property `continent`
         | 
| 19638 | 
            +
                    # @return [String]
         | 
| 19639 | 
            +
                    attr_accessor :continent
         | 
| 19640 | 
            +
                  
         | 
| 19641 | 
            +
                    # [Output Only] Creation timestamp in RFC3339 text format.
         | 
| 19642 | 
            +
                    # Corresponds to the JSON property `creationTimestamp`
         | 
| 19643 | 
            +
                    # @return [String]
         | 
| 19644 | 
            +
                    attr_accessor :creation_timestamp
         | 
| 19645 | 
            +
                  
         | 
| 19646 | 
            +
                    # [Output Only] An optional description of the resource.
         | 
| 19647 | 
            +
                    # Corresponds to the JSON property `description`
         | 
| 19648 | 
            +
                    # @return [String]
         | 
| 19649 | 
            +
                    attr_accessor :description
         | 
| 19650 | 
            +
                  
         | 
| 19651 | 
            +
                    # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
         | 
| 19652 | 
            +
                    # Corresponds to the JSON property `facilityProvider`
         | 
| 19653 | 
            +
                    # @return [String]
         | 
| 19654 | 
            +
                    attr_accessor :facility_provider
         | 
| 19655 | 
            +
                  
         | 
| 19656 | 
            +
                    # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-
         | 
| 19657 | 
            +
                    # DC1).
         | 
| 19658 | 
            +
                    # Corresponds to the JSON property `facilityProviderFacilityId`
         | 
| 19659 | 
            +
                    # @return [String]
         | 
| 19660 | 
            +
                    attr_accessor :facility_provider_facility_id
         | 
| 19661 | 
            +
                  
         | 
| 19662 | 
            +
                    # [Output Only] The unique identifier for the resource. This identifier is
         | 
| 19663 | 
            +
                    # defined by the server.
         | 
| 19664 | 
            +
                    # Corresponds to the JSON property `id`
         | 
| 19665 | 
            +
                    # @return [Fixnum]
         | 
| 19666 | 
            +
                    attr_accessor :id
         | 
| 19667 | 
            +
                  
         | 
| 19668 | 
            +
                    # [Output Only] Type of the resource. Always compute#interconnectRemoteLocation
         | 
| 19669 | 
            +
                    # for interconnect remote locations.
         | 
| 19670 | 
            +
                    # Corresponds to the JSON property `kind`
         | 
| 19671 | 
            +
                    # @return [String]
         | 
| 19672 | 
            +
                    attr_accessor :kind
         | 
| 19673 | 
            +
                  
         | 
| 19674 | 
            +
                    # [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can
         | 
| 19675 | 
            +
                    # take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
         | 
| 19676 | 
            +
                    # Corresponds to the JSON property `lacp`
         | 
| 19677 | 
            +
                    # @return [String]
         | 
| 19678 | 
            +
                    attr_accessor :lacp
         | 
| 19679 | 
            +
                  
         | 
| 19680 | 
            +
                    # [Output Only] The maximum number of 100 Gbps ports supported in a link
         | 
| 19681 | 
            +
                    # aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot
         | 
| 19682 | 
            +
                    # exceed max_lag_size_100_gbps.
         | 
| 19683 | 
            +
                    # Corresponds to the JSON property `maxLagSize100Gbps`
         | 
| 19684 | 
            +
                    # @return [Fixnum]
         | 
| 19685 | 
            +
                    attr_accessor :max_lag_size100_gbps
         | 
| 19686 | 
            +
                  
         | 
| 19687 | 
            +
                    # [Output Only] The maximum number of 10 Gbps ports supported in a link
         | 
| 19688 | 
            +
                    # aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot
         | 
| 19689 | 
            +
                    # exceed max_lag_size_10_gbps.
         | 
| 19690 | 
            +
                    # Corresponds to the JSON property `maxLagSize10Gbps`
         | 
| 19691 | 
            +
                    # @return [Fixnum]
         | 
| 19692 | 
            +
                    attr_accessor :max_lag_size10_gbps
         | 
| 19693 | 
            +
                  
         | 
| 19694 | 
            +
                    # [Output Only] Name of the resource.
         | 
| 19695 | 
            +
                    # Corresponds to the JSON property `name`
         | 
| 19696 | 
            +
                    # @return [String]
         | 
| 19697 | 
            +
                    attr_accessor :name
         | 
| 19698 | 
            +
                  
         | 
| 19699 | 
            +
                    # [Output Only] The peeringdb identifier for this facility (corresponding with a
         | 
| 19700 | 
            +
                    # netfac type in peeringdb).
         | 
| 19701 | 
            +
                    # Corresponds to the JSON property `peeringdbFacilityId`
         | 
| 19702 | 
            +
                    # @return [String]
         | 
| 19703 | 
            +
                    attr_accessor :peeringdb_facility_id
         | 
| 19704 | 
            +
                  
         | 
| 19705 | 
            +
                    # [Output Only] Permitted connections.
         | 
| 19706 | 
            +
                    # Corresponds to the JSON property `permittedConnections`
         | 
| 19707 | 
            +
                    # @return [Array<Google::Apis::ComputeBeta::InterconnectRemoteLocationPermittedConnections>]
         | 
| 19708 | 
            +
                    attr_accessor :permitted_connections
         | 
| 19709 | 
            +
                  
         | 
| 19710 | 
            +
                    # [Output Only] Indicates the service provider present at the remote location.
         | 
| 19711 | 
            +
                    # Example values: "Amazon Web Services", "Microsoft Azure".
         | 
| 19712 | 
            +
                    # Corresponds to the JSON property `remoteService`
         | 
| 19713 | 
            +
                    # @return [String]
         | 
| 19714 | 
            +
                    attr_accessor :remote_service
         | 
| 19715 | 
            +
                  
         | 
| 19716 | 
            +
                    # [Output Only] Server-defined URL for the resource.
         | 
| 19717 | 
            +
                    # Corresponds to the JSON property `selfLink`
         | 
| 19718 | 
            +
                    # @return [String]
         | 
| 19719 | 
            +
                    attr_accessor :self_link
         | 
| 19720 | 
            +
                  
         | 
| 19721 | 
            +
                    # [Output Only] The status of this InterconnectRemoteLocation, which can take
         | 
| 19722 | 
            +
                    # one of the following values: - CLOSED: The InterconnectRemoteLocation is
         | 
| 19723 | 
            +
                    # closed and is unavailable for provisioning new Cross-Cloud Interconnects. -
         | 
| 19724 | 
            +
                    # AVAILABLE: The InterconnectRemoteLocation is available for provisioning new
         | 
| 19725 | 
            +
                    # Cross-Cloud Interconnects.
         | 
| 19726 | 
            +
                    # Corresponds to the JSON property `status`
         | 
| 19727 | 
            +
                    # @return [String]
         | 
| 19728 | 
            +
                    attr_accessor :status
         | 
| 19729 | 
            +
                  
         | 
| 19730 | 
            +
                    def initialize(**args)
         | 
| 19731 | 
            +
                       update!(**args)
         | 
| 19732 | 
            +
                    end
         | 
| 19733 | 
            +
                  
         | 
| 19734 | 
            +
                    # Update properties of this object
         | 
| 19735 | 
            +
                    def update!(**args)
         | 
| 19736 | 
            +
                      @address = args[:address] if args.key?(:address)
         | 
| 19737 | 
            +
                      @attachment_configuration_constraints = args[:attachment_configuration_constraints] if args.key?(:attachment_configuration_constraints)
         | 
| 19738 | 
            +
                      @city = args[:city] if args.key?(:city)
         | 
| 19739 | 
            +
                      @constraints = args[:constraints] if args.key?(:constraints)
         | 
| 19740 | 
            +
                      @continent = args[:continent] if args.key?(:continent)
         | 
| 19741 | 
            +
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 19742 | 
            +
                      @description = args[:description] if args.key?(:description)
         | 
| 19743 | 
            +
                      @facility_provider = args[:facility_provider] if args.key?(:facility_provider)
         | 
| 19744 | 
            +
                      @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
         | 
| 19745 | 
            +
                      @id = args[:id] if args.key?(:id)
         | 
| 19746 | 
            +
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 19747 | 
            +
                      @lacp = args[:lacp] if args.key?(:lacp)
         | 
| 19748 | 
            +
                      @max_lag_size100_gbps = args[:max_lag_size100_gbps] if args.key?(:max_lag_size100_gbps)
         | 
| 19749 | 
            +
                      @max_lag_size10_gbps = args[:max_lag_size10_gbps] if args.key?(:max_lag_size10_gbps)
         | 
| 19750 | 
            +
                      @name = args[:name] if args.key?(:name)
         | 
| 19751 | 
            +
                      @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
         | 
| 19752 | 
            +
                      @permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections)
         | 
| 19753 | 
            +
                      @remote_service = args[:remote_service] if args.key?(:remote_service)
         | 
| 19754 | 
            +
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 19755 | 
            +
                      @status = args[:status] if args.key?(:status)
         | 
| 19756 | 
            +
                    end
         | 
| 19757 | 
            +
                  end
         | 
| 19758 | 
            +
                  
         | 
| 19759 | 
            +
                  # 
         | 
| 19760 | 
            +
                  class InterconnectRemoteLocationConstraints
         | 
| 19761 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 19762 | 
            +
                  
         | 
| 19763 | 
            +
                    # [Output Only] Port pair remote location constraints, which can take one of the
         | 
| 19764 | 
            +
                    # following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION,
         | 
| 19765 | 
            +
                    # PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports,
         | 
| 19766 | 
            +
                    # but the UI uses this field when ordering a pair of ports, to prevent users
         | 
| 19767 | 
            +
                    # from accidentally ordering something that is incompatible with their cloud
         | 
| 19768 | 
            +
                    # provider. Specifically, when ordering a redundant pair of Cross-Cloud
         | 
| 19769 | 
            +
                    # Interconnect ports, and one of them uses a remote location with
         | 
| 19770 | 
            +
                    # portPairMatchingRemoteLocation set to matching, the UI requires that both
         | 
| 19771 | 
            +
                    # ports use the same remote location.
         | 
| 19772 | 
            +
                    # Corresponds to the JSON property `portPairRemoteLocation`
         | 
| 19773 | 
            +
                    # @return [String]
         | 
| 19774 | 
            +
                    attr_accessor :port_pair_remote_location
         | 
| 19775 | 
            +
                  
         | 
| 19776 | 
            +
                    # [Output Only] Port pair VLAN constraints, which can take one of the following
         | 
| 19777 | 
            +
                    # values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
         | 
| 19778 | 
            +
                    # Corresponds to the JSON property `portPairVlan`
         | 
| 19779 | 
            +
                    # @return [String]
         | 
| 19780 | 
            +
                    attr_accessor :port_pair_vlan
         | 
| 19781 | 
            +
                  
         | 
| 19782 | 
            +
                    # [Output Only] [min-length, max-length] The minimum and maximum value (
         | 
| 19783 | 
            +
                    # inclusive) for the IPv4 subnet length. For example, an
         | 
| 19784 | 
            +
                    # interconnectRemoteLocation for Azure has `min: 30, max: 30` because Azure
         | 
| 19785 | 
            +
                    # requires /30 subnets. This range specifies the values supported by both cloud
         | 
| 19786 | 
            +
                    # providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If
         | 
| 19787 | 
            +
                    # a remote cloud has no constraint on IPv4 subnet length, the range would thus
         | 
| 19788 | 
            +
                    # be `min: 29, max: 30`.
         | 
| 19789 | 
            +
                    # Corresponds to the JSON property `subnetLengthRange`
         | 
| 19790 | 
            +
                    # @return [Google::Apis::ComputeBeta::InterconnectRemoteLocationConstraintsSubnetLengthRange]
         | 
| 19791 | 
            +
                    attr_accessor :subnet_length_range
         | 
| 19792 | 
            +
                  
         | 
| 19793 | 
            +
                    def initialize(**args)
         | 
| 19794 | 
            +
                       update!(**args)
         | 
| 19795 | 
            +
                    end
         | 
| 19796 | 
            +
                  
         | 
| 19797 | 
            +
                    # Update properties of this object
         | 
| 19798 | 
            +
                    def update!(**args)
         | 
| 19799 | 
            +
                      @port_pair_remote_location = args[:port_pair_remote_location] if args.key?(:port_pair_remote_location)
         | 
| 19800 | 
            +
                      @port_pair_vlan = args[:port_pair_vlan] if args.key?(:port_pair_vlan)
         | 
| 19801 | 
            +
                      @subnet_length_range = args[:subnet_length_range] if args.key?(:subnet_length_range)
         | 
| 19802 | 
            +
                    end
         | 
| 19803 | 
            +
                  end
         | 
| 19804 | 
            +
                  
         | 
| 19805 | 
            +
                  # 
         | 
| 19806 | 
            +
                  class InterconnectRemoteLocationConstraintsSubnetLengthRange
         | 
| 19807 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 19808 | 
            +
                  
         | 
| 19809 | 
            +
                    # 
         | 
| 19810 | 
            +
                    # Corresponds to the JSON property `max`
         | 
| 19811 | 
            +
                    # @return [Fixnum]
         | 
| 19812 | 
            +
                    attr_accessor :max
         | 
| 19813 | 
            +
                  
         | 
| 19814 | 
            +
                    # 
         | 
| 19815 | 
            +
                    # Corresponds to the JSON property `min`
         | 
| 19816 | 
            +
                    # @return [Fixnum]
         | 
| 19817 | 
            +
                    attr_accessor :min
         | 
| 19818 | 
            +
                  
         | 
| 19819 | 
            +
                    def initialize(**args)
         | 
| 19820 | 
            +
                       update!(**args)
         | 
| 19821 | 
            +
                    end
         | 
| 19822 | 
            +
                  
         | 
| 19823 | 
            +
                    # Update properties of this object
         | 
| 19824 | 
            +
                    def update!(**args)
         | 
| 19825 | 
            +
                      @max = args[:max] if args.key?(:max)
         | 
| 19826 | 
            +
                      @min = args[:min] if args.key?(:min)
         | 
| 19827 | 
            +
                    end
         | 
| 19828 | 
            +
                  end
         | 
| 19829 | 
            +
                  
         | 
| 19830 | 
            +
                  # Response to the list request, and contains a list of interconnect remote
         | 
| 19831 | 
            +
                  # locations.
         | 
| 19832 | 
            +
                  class InterconnectRemoteLocationList
         | 
| 19833 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 19834 | 
            +
                  
         | 
| 19835 | 
            +
                    # [Output Only] Unique identifier for the resource; defined by the server.
         | 
| 19836 | 
            +
                    # Corresponds to the JSON property `id`
         | 
| 19837 | 
            +
                    # @return [String]
         | 
| 19838 | 
            +
                    attr_accessor :id
         | 
| 19839 | 
            +
                  
         | 
| 19840 | 
            +
                    # A list of InterconnectRemoteLocation resources.
         | 
| 19841 | 
            +
                    # Corresponds to the JSON property `items`
         | 
| 19842 | 
            +
                    # @return [Array<Google::Apis::ComputeBeta::InterconnectRemoteLocation>]
         | 
| 19843 | 
            +
                    attr_accessor :items
         | 
| 19844 | 
            +
                  
         | 
| 19845 | 
            +
                    # [Output Only] Type of resource. Always compute#interconnectRemoteLocationList
         | 
| 19846 | 
            +
                    # for lists of interconnect remote locations.
         | 
| 19847 | 
            +
                    # Corresponds to the JSON property `kind`
         | 
| 19848 | 
            +
                    # @return [String]
         | 
| 19849 | 
            +
                    attr_accessor :kind
         | 
| 19850 | 
            +
                  
         | 
| 19851 | 
            +
                    # [Output Only] This token lets you get the next page of results for list
         | 
| 19852 | 
            +
                    # requests. If the number of results is larger than maxResults, use the
         | 
| 19853 | 
            +
                    # nextPageToken as a value for the query parameter pageToken in the next list
         | 
| 19854 | 
            +
                    # request. Subsequent list requests will have their own nextPageToken to
         | 
| 19855 | 
            +
                    # continue paging through the results.
         | 
| 19856 | 
            +
                    # Corresponds to the JSON property `nextPageToken`
         | 
| 19857 | 
            +
                    # @return [String]
         | 
| 19858 | 
            +
                    attr_accessor :next_page_token
         | 
| 19859 | 
            +
                  
         | 
| 19860 | 
            +
                    # [Output Only] Server-defined URL for this resource.
         | 
| 19861 | 
            +
                    # Corresponds to the JSON property `selfLink`
         | 
| 19862 | 
            +
                    # @return [String]
         | 
| 19863 | 
            +
                    attr_accessor :self_link
         | 
| 19864 | 
            +
                  
         | 
| 19865 | 
            +
                    # [Output Only] Informational warning message.
         | 
| 19866 | 
            +
                    # Corresponds to the JSON property `warning`
         | 
| 19867 | 
            +
                    # @return [Google::Apis::ComputeBeta::InterconnectRemoteLocationList::Warning]
         | 
| 19868 | 
            +
                    attr_accessor :warning
         | 
| 19869 | 
            +
                  
         | 
| 19870 | 
            +
                    def initialize(**args)
         | 
| 19871 | 
            +
                       update!(**args)
         | 
| 19872 | 
            +
                    end
         | 
| 19873 | 
            +
                  
         | 
| 19874 | 
            +
                    # Update properties of this object
         | 
| 19875 | 
            +
                    def update!(**args)
         | 
| 19876 | 
            +
                      @id = args[:id] if args.key?(:id)
         | 
| 19877 | 
            +
                      @items = args[:items] if args.key?(:items)
         | 
| 19878 | 
            +
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 19879 | 
            +
                      @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
         | 
| 19880 | 
            +
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 19881 | 
            +
                      @warning = args[:warning] if args.key?(:warning)
         | 
| 19882 | 
            +
                    end
         | 
| 19883 | 
            +
                    
         | 
| 19884 | 
            +
                    # [Output Only] Informational warning message.
         | 
| 19885 | 
            +
                    class Warning
         | 
| 19886 | 
            +
                      include Google::Apis::Core::Hashable
         | 
| 19887 | 
            +
                    
         | 
| 19888 | 
            +
                      # [Output Only] A warning code, if applicable. For example, Compute Engine
         | 
| 19889 | 
            +
                      # returns NO_RESULTS_ON_PAGE if there are no results in the response.
         | 
| 19890 | 
            +
                      # Corresponds to the JSON property `code`
         | 
| 19891 | 
            +
                      # @return [String]
         | 
| 19892 | 
            +
                      attr_accessor :code
         | 
| 19893 | 
            +
                    
         | 
| 19894 | 
            +
                      # [Output Only] Metadata about this warning in key: value format. For example: "
         | 
| 19895 | 
            +
                      # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
         | 
| 19896 | 
            +
                      # Corresponds to the JSON property `data`
         | 
| 19897 | 
            +
                      # @return [Array<Google::Apis::ComputeBeta::InterconnectRemoteLocationList::Warning::Datum>]
         | 
| 19898 | 
            +
                      attr_accessor :data
         | 
| 19899 | 
            +
                    
         | 
| 19900 | 
            +
                      # [Output Only] A human-readable description of the warning code.
         | 
| 19901 | 
            +
                      # Corresponds to the JSON property `message`
         | 
| 19902 | 
            +
                      # @return [String]
         | 
| 19903 | 
            +
                      attr_accessor :message
         | 
| 19904 | 
            +
                    
         | 
| 19905 | 
            +
                      def initialize(**args)
         | 
| 19906 | 
            +
                         update!(**args)
         | 
| 19907 | 
            +
                      end
         | 
| 19908 | 
            +
                    
         | 
| 19909 | 
            +
                      # Update properties of this object
         | 
| 19910 | 
            +
                      def update!(**args)
         | 
| 19911 | 
            +
                        @code = args[:code] if args.key?(:code)
         | 
| 19912 | 
            +
                        @data = args[:data] if args.key?(:data)
         | 
| 19913 | 
            +
                        @message = args[:message] if args.key?(:message)
         | 
| 19914 | 
            +
                      end
         | 
| 19915 | 
            +
                      
         | 
| 19916 | 
            +
                      # 
         | 
| 19917 | 
            +
                      class Datum
         | 
| 19918 | 
            +
                        include Google::Apis::Core::Hashable
         | 
| 19919 | 
            +
                      
         | 
| 19920 | 
            +
                        # [Output Only] A key that provides more detail on the warning being returned.
         | 
| 19921 | 
            +
                        # For example, for warnings where there are no results in a list request for a
         | 
| 19922 | 
            +
                        # particular zone, this key might be scope and the key value might be the zone
         | 
| 19923 | 
            +
                        # name. Other examples might be a key indicating a deprecated resource and a
         | 
| 19924 | 
            +
                        # suggested replacement, or a warning about invalid network settings (for
         | 
| 19925 | 
            +
                        # example, if an instance attempts to perform IP forwarding but is not enabled
         | 
| 19926 | 
            +
                        # for IP forwarding).
         | 
| 19927 | 
            +
                        # Corresponds to the JSON property `key`
         | 
| 19928 | 
            +
                        # @return [String]
         | 
| 19929 | 
            +
                        attr_accessor :key
         | 
| 19930 | 
            +
                      
         | 
| 19931 | 
            +
                        # [Output Only] A warning data value corresponding to the key.
         | 
| 19932 | 
            +
                        # Corresponds to the JSON property `value`
         | 
| 19933 | 
            +
                        # @return [String]
         | 
| 19934 | 
            +
                        attr_accessor :value
         | 
| 19935 | 
            +
                      
         | 
| 19936 | 
            +
                        def initialize(**args)
         | 
| 19937 | 
            +
                           update!(**args)
         | 
| 19938 | 
            +
                        end
         | 
| 19939 | 
            +
                      
         | 
| 19940 | 
            +
                        # Update properties of this object
         | 
| 19941 | 
            +
                        def update!(**args)
         | 
| 19942 | 
            +
                          @key = args[:key] if args.key?(:key)
         | 
| 19943 | 
            +
                          @value = args[:value] if args.key?(:value)
         | 
| 19944 | 
            +
                        end
         | 
| 19945 | 
            +
                      end
         | 
| 19946 | 
            +
                    end
         | 
| 19947 | 
            +
                  end
         | 
| 19948 | 
            +
                  
         | 
| 19949 | 
            +
                  # 
         | 
| 19950 | 
            +
                  class InterconnectRemoteLocationPermittedConnections
         | 
| 19951 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 19952 | 
            +
                  
         | 
| 19953 | 
            +
                    # [Output Only] URL of an Interconnect location that is permitted to connect to
         | 
| 19954 | 
            +
                    # this Interconnect remote location.
         | 
| 19955 | 
            +
                    # Corresponds to the JSON property `interconnectLocation`
         | 
| 19956 | 
            +
                    # @return [String]
         | 
| 19957 | 
            +
                    attr_accessor :interconnect_location
         | 
| 19958 | 
            +
                  
         | 
| 19959 | 
            +
                    def initialize(**args)
         | 
| 19960 | 
            +
                       update!(**args)
         | 
| 19961 | 
            +
                    end
         | 
| 19962 | 
            +
                  
         | 
| 19963 | 
            +
                    # Update properties of this object
         | 
| 19964 | 
            +
                    def update!(**args)
         | 
| 19965 | 
            +
                      @interconnect_location = args[:interconnect_location] if args.key?(:interconnect_location)
         | 
| 19966 | 
            +
                    end
         | 
| 19967 | 
            +
                  end
         | 
| 19968 | 
            +
                  
         | 
| 19432 19969 | 
             
                  # Response for the InterconnectsGetDiagnosticsRequest.
         | 
| 19433 19970 | 
             
                  class InterconnectsGetDiagnosticsResponse
         | 
| 19434 19971 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -20450,7 +20987,7 @@ module Google | |
| 20450 20987 | 
             
                      # @return [Fixnum]
         | 
| 20451 20988 | 
             
                      attr_accessor :guest_accelerator_count
         | 
| 20452 20989 |  | 
| 20453 | 
            -
                      # The accelerator type resource name, not a full URL, e.g.  | 
| 20990 | 
            +
                      # The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.
         | 
| 20454 20991 | 
             
                      # Corresponds to the JSON property `guestAcceleratorType`
         | 
| 20455 20992 | 
             
                      # @return [String]
         | 
| 20456 20993 | 
             
                      attr_accessor :guest_accelerator_type
         | 
| @@ -21442,9 +21979,9 @@ module Google | |
| 21442 21979 | 
             
                    # @return [String]
         | 
| 21443 21980 | 
             
                    attr_accessor :description
         | 
| 21444 21981 |  | 
| 21445 | 
            -
                    #  | 
| 21446 | 
            -
                    #  | 
| 21447 | 
            -
                    #  | 
| 21982 | 
            +
                    # Fingerprint of this resource. A hash of the contents stored in this object.
         | 
| 21983 | 
            +
                    # This field is used in optimistic locking. An up-to-date fingerprint must be
         | 
| 21984 | 
            +
                    # provided in order to patch.
         | 
| 21448 21985 | 
             
                    # Corresponds to the JSON property `fingerprint`
         | 
| 21449 21986 | 
             
                    # NOTE: Values are automatically base64 encoded/decoded in the client library.
         | 
| 21450 21987 | 
             
                    # @return [String]
         | 
| @@ -21472,6 +22009,10 @@ module Google | |
| 21472 22009 | 
             
                    attr_accessor :name
         | 
| 21473 22010 |  | 
| 21474 22011 | 
             
                    # [Output Only] The URL of the network which the Network Attachment belongs to.
         | 
| 22012 | 
            +
                    # Practically it is inferred by fetching the network of the first subnetwork
         | 
| 22013 | 
            +
                    # associated. Because it is required that all the subnetworks must be from the
         | 
| 22014 | 
            +
                    # same network, it is assured that the Network Attachment belongs to the same
         | 
| 22015 | 
            +
                    # network as all the subnetworks.
         | 
| 21475 22016 | 
             
                    # Corresponds to the JSON property `network`
         | 
| 21476 22017 | 
             
                    # @return [String]
         | 
| 21477 22018 | 
             
                    attr_accessor :network
         | 
| @@ -22250,6 +22791,11 @@ module Google | |
| 22250 22791 | 
             
                    # @return [String]
         | 
| 22251 22792 | 
             
                    attr_accessor :ip_address
         | 
| 22252 22793 |  | 
| 22794 | 
            +
                    # Optional IPv6 address of network endpoint.
         | 
| 22795 | 
            +
                    # Corresponds to the JSON property `ipv6Address`
         | 
| 22796 | 
            +
                    # @return [String]
         | 
| 22797 | 
            +
                    attr_accessor :ipv6_address
         | 
| 22798 | 
            +
                  
         | 
| 22253 22799 | 
             
                    # Optional port number of network endpoint. If not specified, the defaultPort
         | 
| 22254 22800 | 
             
                    # for the network endpoint group will be used.
         | 
| 22255 22801 | 
             
                    # Corresponds to the JSON property `port`
         | 
| @@ -22266,6 +22812,7 @@ module Google | |
| 22266 22812 | 
             
                      @fqdn = args[:fqdn] if args.key?(:fqdn)
         | 
| 22267 22813 | 
             
                      @instance = args[:instance] if args.key?(:instance)
         | 
| 22268 22814 | 
             
                      @ip_address = args[:ip_address] if args.key?(:ip_address)
         | 
| 22815 | 
            +
                      @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
         | 
| 22269 22816 | 
             
                      @port = args[:port] if args.key?(:port)
         | 
| 22270 22817 | 
             
                    end
         | 
| 22271 22818 | 
             
                  end
         | 
| @@ -33423,9 +33970,8 @@ module Google | |
| 33423 33970 | 
             
                    # ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list
         | 
| 33424 33971 | 
             
                    # of Subnetworks are allowed to Nat (specified in the field subnetwork below)
         | 
| 33425 33972 | 
             
                    # The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if
         | 
| 33426 | 
            -
                    # this field contains ALL_SUBNETWORKS_ALL_IP_RANGES  | 
| 33427 | 
            -
                    #  | 
| 33428 | 
            -
                    # Router.Nat section in any Router for this network in this region.
         | 
| 33973 | 
            +
                    # this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any
         | 
| 33974 | 
            +
                    # other Router.Nat section in any Router for this network in this region.
         | 
| 33429 33975 | 
             
                    # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat`
         | 
| 33430 33976 | 
             
                    # @return [String]
         | 
| 33431 33977 | 
             
                    attr_accessor :source_subnetwork_ip_ranges_to_nat
         | 
| @@ -34976,6 +35522,16 @@ module Google | |
| 34976 35522 | 
             
                    # @return [String]
         | 
| 34977 35523 | 
             
                    attr_accessor :type
         | 
| 34978 35524 |  | 
| 35525 | 
            +
                    # Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-
         | 
| 35526 | 
            +
                    # defined field consists of up to 4 bytes extracted from a fixed offset in the
         | 
| 35527 | 
            +
                    # packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask
         | 
| 35528 | 
            +
                    # to select certain bits. Rules may then specify matching values for these
         | 
| 35529 | 
            +
                    # fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4
         | 
| 35530 | 
            +
                    # offset: 6 size: 2 mask: "0x1fff"
         | 
| 35531 | 
            +
                    # Corresponds to the JSON property `userDefinedFields`
         | 
| 35532 | 
            +
                    # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyUserDefinedField>]
         | 
| 35533 | 
            +
                    attr_accessor :user_defined_fields
         | 
| 35534 | 
            +
                  
         | 
| 34979 35535 | 
             
                    def initialize(**args)
         | 
| 34980 35536 | 
             
                       update!(**args)
         | 
| 34981 35537 | 
             
                    end
         | 
| @@ -35003,6 +35559,7 @@ module Google | |
| 35003 35559 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 35004 35560 | 
             
                      @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
         | 
| 35005 35561 | 
             
                      @type = args[:type] if args.key?(:type)
         | 
| 35562 | 
            +
                      @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
         | 
| 35006 35563 | 
             
                    end
         | 
| 35007 35564 | 
             
                  end
         | 
| 35008 35565 |  | 
| @@ -35434,6 +35991,12 @@ module Google | |
| 35434 35991 | 
             
                    # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcher]
         | 
| 35435 35992 | 
             
                    attr_accessor :match
         | 
| 35436 35993 |  | 
| 35994 | 
            +
                    # Represents a match condition that incoming network traffic is evaluated
         | 
| 35995 | 
            +
                    # against.
         | 
| 35996 | 
            +
                    # Corresponds to the JSON property `networkMatch`
         | 
| 35997 | 
            +
                    # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleNetworkMatcher]
         | 
| 35998 | 
            +
                    attr_accessor :network_match
         | 
| 35999 | 
            +
                  
         | 
| 35437 36000 | 
             
                    # Preconfigured WAF configuration to be applied for the rule. If the rule does
         | 
| 35438 36001 | 
             
                    # not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is
         | 
| 35439 36002 | 
             
                    # not used, this field will have no effect.
         | 
| @@ -35508,6 +36071,7 @@ module Google | |
| 35508 36071 | 
             
                      @header_action = args[:header_action] if args.key?(:header_action)
         | 
| 35509 36072 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 35510 36073 | 
             
                      @match = args[:match] if args.key?(:match)
         | 
| 36074 | 
            +
                      @network_match = args[:network_match] if args.key?(:network_match)
         | 
| 35511 36075 | 
             
                      @preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config)
         | 
| 35512 36076 | 
             
                      @preview = args[:preview] if args.key?(:preview)
         | 
| 35513 36077 | 
             
                      @priority = args[:priority] if args.key?(:priority)
         | 
| @@ -35680,6 +36244,102 @@ module Google | |
| 35680 36244 | 
             
                    end
         | 
| 35681 36245 | 
             
                  end
         | 
| 35682 36246 |  | 
| 36247 | 
            +
                  # Represents a match condition that incoming network traffic is evaluated
         | 
| 36248 | 
            +
                  # against.
         | 
| 36249 | 
            +
                  class SecurityPolicyRuleNetworkMatcher
         | 
| 36250 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 36251 | 
            +
                  
         | 
| 36252 | 
            +
                    # Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
         | 
| 36253 | 
            +
                    # Corresponds to the JSON property `destIpRanges`
         | 
| 36254 | 
            +
                    # @return [Array<String>]
         | 
| 36255 | 
            +
                    attr_accessor :dest_ip_ranges
         | 
| 36256 | 
            +
                  
         | 
| 36257 | 
            +
                    # Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit
         | 
| 36258 | 
            +
                    # unsigned decimal number (e.g. "80") or range (e.g. "0-1023").
         | 
| 36259 | 
            +
                    # Corresponds to the JSON property `destPorts`
         | 
| 36260 | 
            +
                    # @return [Array<String>]
         | 
| 36261 | 
            +
                    attr_accessor :dest_ports
         | 
| 36262 | 
            +
                  
         | 
| 36263 | 
            +
                    # IPv4 protocol / IPv6 next header (after extension headers). Each element can
         | 
| 36264 | 
            +
                    # be an 8-bit unsigned decimal number (e.g. "6"), range (e.g. "253-254"), or one
         | 
| 36265 | 
            +
                    # of the following protocol names: "tcp", "udp", "icmp", "esp", "ah", "ipip", or
         | 
| 36266 | 
            +
                    # "sctp".
         | 
| 36267 | 
            +
                    # Corresponds to the JSON property `ipProtocols`
         | 
| 36268 | 
            +
                    # @return [Array<String>]
         | 
| 36269 | 
            +
                    attr_accessor :ip_protocols
         | 
| 36270 | 
            +
                  
         | 
| 36271 | 
            +
                    # BGP Autonomous System Number associated with the source IP address.
         | 
| 36272 | 
            +
                    # Corresponds to the JSON property `srcAsns`
         | 
| 36273 | 
            +
                    # @return [Array<Fixnum>]
         | 
| 36274 | 
            +
                    attr_accessor :src_asns
         | 
| 36275 | 
            +
                  
         | 
| 36276 | 
            +
                    # Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
         | 
| 36277 | 
            +
                    # Corresponds to the JSON property `srcIpRanges`
         | 
| 36278 | 
            +
                    # @return [Array<String>]
         | 
| 36279 | 
            +
                    attr_accessor :src_ip_ranges
         | 
| 36280 | 
            +
                  
         | 
| 36281 | 
            +
                    # Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned
         | 
| 36282 | 
            +
                    # decimal number (e.g. "80") or range (e.g. "0-1023").
         | 
| 36283 | 
            +
                    # Corresponds to the JSON property `srcPorts`
         | 
| 36284 | 
            +
                    # @return [Array<String>]
         | 
| 36285 | 
            +
                    attr_accessor :src_ports
         | 
| 36286 | 
            +
                  
         | 
| 36287 | 
            +
                    # Two-letter ISO 3166-1 alpha-2 country code associated with the source IP
         | 
| 36288 | 
            +
                    # address.
         | 
| 36289 | 
            +
                    # Corresponds to the JSON property `srcRegionCodes`
         | 
| 36290 | 
            +
                    # @return [Array<String>]
         | 
| 36291 | 
            +
                    attr_accessor :src_region_codes
         | 
| 36292 | 
            +
                  
         | 
| 36293 | 
            +
                    # User-defined fields. Each element names a defined field and lists the matching
         | 
| 36294 | 
            +
                    # values for that field.
         | 
| 36295 | 
            +
                    # Corresponds to the JSON property `userDefinedFields`
         | 
| 36296 | 
            +
                    # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch>]
         | 
| 36297 | 
            +
                    attr_accessor :user_defined_fields
         | 
| 36298 | 
            +
                  
         | 
| 36299 | 
            +
                    def initialize(**args)
         | 
| 36300 | 
            +
                       update!(**args)
         | 
| 36301 | 
            +
                    end
         | 
| 36302 | 
            +
                  
         | 
| 36303 | 
            +
                    # Update properties of this object
         | 
| 36304 | 
            +
                    def update!(**args)
         | 
| 36305 | 
            +
                      @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
         | 
| 36306 | 
            +
                      @dest_ports = args[:dest_ports] if args.key?(:dest_ports)
         | 
| 36307 | 
            +
                      @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
         | 
| 36308 | 
            +
                      @src_asns = args[:src_asns] if args.key?(:src_asns)
         | 
| 36309 | 
            +
                      @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
         | 
| 36310 | 
            +
                      @src_ports = args[:src_ports] if args.key?(:src_ports)
         | 
| 36311 | 
            +
                      @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
         | 
| 36312 | 
            +
                      @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
         | 
| 36313 | 
            +
                    end
         | 
| 36314 | 
            +
                  end
         | 
| 36315 | 
            +
                  
         | 
| 36316 | 
            +
                  # 
         | 
| 36317 | 
            +
                  class SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch
         | 
| 36318 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 36319 | 
            +
                  
         | 
| 36320 | 
            +
                    # Name of the user-defined field, as given in the definition.
         | 
| 36321 | 
            +
                    # Corresponds to the JSON property `name`
         | 
| 36322 | 
            +
                    # @return [String]
         | 
| 36323 | 
            +
                    attr_accessor :name
         | 
| 36324 | 
            +
                  
         | 
| 36325 | 
            +
                    # Matching values of the field. Each element can be a 32-bit unsigned decimal or
         | 
| 36326 | 
            +
                    # hexadecimal (starting with "0x") number (e.g. "64") or range (e.g. "0x400-
         | 
| 36327 | 
            +
                    # 0x7ff").
         | 
| 36328 | 
            +
                    # Corresponds to the JSON property `values`
         | 
| 36329 | 
            +
                    # @return [Array<String>]
         | 
| 36330 | 
            +
                    attr_accessor :values
         | 
| 36331 | 
            +
                  
         | 
| 36332 | 
            +
                    def initialize(**args)
         | 
| 36333 | 
            +
                       update!(**args)
         | 
| 36334 | 
            +
                    end
         | 
| 36335 | 
            +
                  
         | 
| 36336 | 
            +
                    # Update properties of this object
         | 
| 36337 | 
            +
                    def update!(**args)
         | 
| 36338 | 
            +
                      @name = args[:name] if args.key?(:name)
         | 
| 36339 | 
            +
                      @values = args[:values] if args.key?(:values)
         | 
| 36340 | 
            +
                    end
         | 
| 36341 | 
            +
                  end
         | 
| 36342 | 
            +
                  
         | 
| 35683 36343 | 
             
                  # 
         | 
| 35684 36344 | 
             
                  class SecurityPolicyRulePreconfiguredWafConfig
         | 
| 35685 36345 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -35980,6 +36640,59 @@ module Google | |
| 35980 36640 | 
             
                    end
         | 
| 35981 36641 | 
             
                  end
         | 
| 35982 36642 |  | 
| 36643 | 
            +
                  # 
         | 
| 36644 | 
            +
                  class SecurityPolicyUserDefinedField
         | 
| 36645 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 36646 | 
            +
                  
         | 
| 36647 | 
            +
                    # The base relative to which 'offset' is measured. Possible values are: - IPV4:
         | 
| 36648 | 
            +
                    # Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of
         | 
| 36649 | 
            +
                    # the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping
         | 
| 36650 | 
            +
                    # over any IPv4 options or IPv6 extension headers. Not present for non-first
         | 
| 36651 | 
            +
                    # fragments. - UDP: Points to the beginning of the UDP header, skipping over any
         | 
| 36652 | 
            +
                    # IPv4 options or IPv6 extension headers. Not present for non-first fragments.
         | 
| 36653 | 
            +
                    # required
         | 
| 36654 | 
            +
                    # Corresponds to the JSON property `base`
         | 
| 36655 | 
            +
                    # @return [String]
         | 
| 36656 | 
            +
                    attr_accessor :base
         | 
| 36657 | 
            +
                  
         | 
| 36658 | 
            +
                    # If specified, apply this mask (bitwise AND) to the field to ignore bits before
         | 
| 36659 | 
            +
                    # matching. Encoded as a hexadecimal number (starting with "0x"). The last byte
         | 
| 36660 | 
            +
                    # of the field (in network byte order) corresponds to the least significant byte
         | 
| 36661 | 
            +
                    # of the mask.
         | 
| 36662 | 
            +
                    # Corresponds to the JSON property `mask`
         | 
| 36663 | 
            +
                    # @return [String]
         | 
| 36664 | 
            +
                    attr_accessor :mask
         | 
| 36665 | 
            +
                  
         | 
| 36666 | 
            +
                    # The name of this field. Must be unique within the policy.
         | 
| 36667 | 
            +
                    # Corresponds to the JSON property `name`
         | 
| 36668 | 
            +
                    # @return [String]
         | 
| 36669 | 
            +
                    attr_accessor :name
         | 
| 36670 | 
            +
                  
         | 
| 36671 | 
            +
                    # Offset of the first byte of the field (in network byte order) relative to '
         | 
| 36672 | 
            +
                    # base'.
         | 
| 36673 | 
            +
                    # Corresponds to the JSON property `offset`
         | 
| 36674 | 
            +
                    # @return [Fixnum]
         | 
| 36675 | 
            +
                    attr_accessor :offset
         | 
| 36676 | 
            +
                  
         | 
| 36677 | 
            +
                    # Size of the field in bytes. Valid values: 1-4.
         | 
| 36678 | 
            +
                    # Corresponds to the JSON property `size`
         | 
| 36679 | 
            +
                    # @return [Fixnum]
         | 
| 36680 | 
            +
                    attr_accessor :size
         | 
| 36681 | 
            +
                  
         | 
| 36682 | 
            +
                    def initialize(**args)
         | 
| 36683 | 
            +
                       update!(**args)
         | 
| 36684 | 
            +
                    end
         | 
| 36685 | 
            +
                  
         | 
| 36686 | 
            +
                    # Update properties of this object
         | 
| 36687 | 
            +
                    def update!(**args)
         | 
| 36688 | 
            +
                      @base = args[:base] if args.key?(:base)
         | 
| 36689 | 
            +
                      @mask = args[:mask] if args.key?(:mask)
         | 
| 36690 | 
            +
                      @name = args[:name] if args.key?(:name)
         | 
| 36691 | 
            +
                      @offset = args[:offset] if args.key?(:offset)
         | 
| 36692 | 
            +
                      @size = args[:size] if args.key?(:size)
         | 
| 36693 | 
            +
                    end
         | 
| 36694 | 
            +
                  end
         | 
| 36695 | 
            +
                  
         | 
| 35983 36696 | 
             
                  # The authentication and authorization settings for a BackendService.
         | 
| 35984 36697 | 
             
                  class SecuritySettings
         | 
| 35985 36698 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -38756,8 +39469,8 @@ module Google | |
| 38756 39469 | 
             
                    # Whether to enable flow logging for this subnetwork. If this field is not
         | 
| 38757 39470 | 
             
                    # explicitly set, it will not appear in get listings. If not set the default
         | 
| 38758 39471 | 
             
                    # behavior is determined by the org policy, if there is no org policy specified,
         | 
| 38759 | 
            -
                    # then it will default to disabled. This field isn't supported  | 
| 38760 | 
            -
                    # field set to  | 
| 39472 | 
            +
                    # then it will default to disabled. This field isn't supported if the subnet
         | 
| 39473 | 
            +
                    # purpose field is set to REGIONAL_MANAGED_PROXY.
         | 
| 38761 39474 | 
             
                    # Corresponds to the JSON property `enableFlowLogs`
         | 
| 38762 39475 | 
             
                    # @return [Boolean]
         | 
| 38763 39476 | 
             
                    attr_accessor :enable_flow_logs
         | 
| @@ -38861,12 +39574,19 @@ module Google | |
| 38861 39574 | 
             
                    # @return [String]
         | 
| 38862 39575 | 
             
                    attr_accessor :private_ipv6_google_access
         | 
| 38863 39576 |  | 
| 38864 | 
            -
                    # The purpose of the resource. This field can be either  | 
| 38865 | 
            -
                    #  | 
| 38866 | 
            -
                    # INTERNAL_HTTPS_LOAD_BALANCER is  | 
| 38867 | 
            -
                    #  | 
| 38868 | 
            -
                    #  | 
| 38869 | 
            -
                    #  | 
| 39577 | 
            +
                    # The purpose of the resource. This field can be either PRIVATE,
         | 
| 39578 | 
            +
                    # REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
         | 
| 39579 | 
            +
                    # INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created
         | 
| 39580 | 
            +
                    # subnets or subnets that are automatically created in auto mode networks. A
         | 
| 39581 | 
            +
                    # subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork
         | 
| 39582 | 
            +
                    # that is reserved for regional Envoy-based load balancers. A subnet with
         | 
| 39583 | 
            +
                    # purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using
         | 
| 39584 | 
            +
                    # Private Service Connect. A subnet with purpose set to
         | 
| 39585 | 
            +
                    # INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by
         | 
| 39586 | 
            +
                    # regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is
         | 
| 39587 | 
            +
                    # the preferred setting for all regional Envoy load balancers. If unspecified,
         | 
| 39588 | 
            +
                    # the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't
         | 
| 39589 | 
            +
                    # supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
         | 
| 38870 39590 | 
             
                    # Corresponds to the JSON property `purpose`
         | 
| 38871 39591 | 
             
                    # @return [String]
         | 
| 38872 39592 | 
             
                    attr_accessor :purpose
         | 
| @@ -38883,11 +39603,10 @@ module Google | |
| 38883 39603 | 
             
                    attr_accessor :reserved_internal_range
         | 
| 38884 39604 |  | 
| 38885 39605 | 
             
                    # The role of subnetwork. Currently, this field is only used when purpose =
         | 
| 38886 | 
            -
                    #  | 
| 38887 | 
            -
                    #  | 
| 38888 | 
            -
                    #  | 
| 38889 | 
            -
                    #  | 
| 38890 | 
            -
                    # request.
         | 
| 39606 | 
            +
                    # REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE
         | 
| 39607 | 
            +
                    # subnetwork is one that is currently being used for Envoy-based load balancers
         | 
| 39608 | 
            +
                    # in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE
         | 
| 39609 | 
            +
                    # or is currently draining. This field can be updated with a patch request.
         | 
| 38891 39610 | 
             
                    # Corresponds to the JSON property `role`
         | 
| 38892 39611 | 
             
                    # @return [String]
         | 
| 38893 39612 | 
             
                    attr_accessor :role
         | 
| @@ -39215,7 +39934,8 @@ module Google | |
| 39215 39934 | 
             
                    # Whether to enable flow logging for this subnetwork. If this field is not
         | 
| 39216 39935 | 
             
                    # explicitly set, it will not appear in get listings. If not set the default
         | 
| 39217 39936 | 
             
                    # behavior is determined by the org policy, if there is no org policy specified,
         | 
| 39218 | 
            -
                    # then it will default to disabled.
         | 
| 39937 | 
            +
                    # then it will default to disabled. Flow logging isn't supported if the subnet
         | 
| 39938 | 
            +
                    # purpose field is set to REGIONAL_MANAGED_PROXY.
         | 
| 39219 39939 | 
             
                    # Corresponds to the JSON property `enable`
         | 
| 39220 39940 | 
             
                    # @return [Boolean]
         | 
| 39221 39941 | 
             
                    attr_accessor :enable
         | 
| @@ -40905,6 +41625,12 @@ module Google | |
| 40905 41625 | 
             
                    # @return [String]
         | 
| 40906 41626 | 
             
                    attr_accessor :network
         | 
| 40907 41627 |  | 
| 41628 | 
            +
                    # [Output Only] The resource URL for the security policy associated with this
         | 
| 41629 | 
            +
                    # target instance.
         | 
| 41630 | 
            +
                    # Corresponds to the JSON property `securityPolicy`
         | 
| 41631 | 
            +
                    # @return [String]
         | 
| 41632 | 
            +
                    attr_accessor :security_policy
         | 
| 41633 | 
            +
                  
         | 
| 40908 41634 | 
             
                    # [Output Only] Server-defined URL for the resource.
         | 
| 40909 41635 | 
             
                    # Corresponds to the JSON property `selfLink`
         | 
| 40910 41636 | 
             
                    # @return [String]
         | 
| @@ -40931,6 +41657,7 @@ module Google | |
| 40931 41657 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 40932 41658 | 
             
                      @nat_policy = args[:nat_policy] if args.key?(:nat_policy)
         | 
| 40933 41659 | 
             
                      @network = args[:network] if args.key?(:network)
         | 
| 41660 | 
            +
                      @security_policy = args[:security_policy] if args.key?(:security_policy)
         | 
| 40934 41661 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 40935 41662 | 
             
                      @zone = args[:zone] if args.key?(:zone)
         | 
| 40936 41663 | 
             
                    end
         | 
| @@ -41354,6 +42081,12 @@ module Google | |
| 41354 42081 | 
             
                    # @return [String]
         | 
| 41355 42082 | 
             
                    attr_accessor :region
         | 
| 41356 42083 |  | 
| 42084 | 
            +
                    # [Output Only] The resource URL for the security policy associated with this
         | 
| 42085 | 
            +
                    # target pool.
         | 
| 42086 | 
            +
                    # Corresponds to the JSON property `securityPolicy`
         | 
| 42087 | 
            +
                    # @return [String]
         | 
| 42088 | 
            +
                    attr_accessor :security_policy
         | 
| 42089 | 
            +
                  
         | 
| 41357 42090 | 
             
                    # [Output Only] Server-defined URL for the resource.
         | 
| 41358 42091 | 
             
                    # Corresponds to the JSON property `selfLink`
         | 
| 41359 42092 | 
             
                    # @return [String]
         | 
| @@ -41385,6 +42118,7 @@ module Google | |
| 41385 42118 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 41386 42119 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 41387 42120 | 
             
                      @region = args[:region] if args.key?(:region)
         | 
| 42121 | 
            +
                      @security_policy = args[:security_policy] if args.key?(:security_policy)
         | 
| 41388 42122 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 41389 42123 | 
             
                      @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
         | 
| 41390 42124 | 
             
                    end
         | 
| @@ -43997,22 +44731,28 @@ module Google | |
| 43997 44731 | 
             
                    # @return [String]
         | 
| 43998 44732 | 
             
                    attr_accessor :network
         | 
| 43999 44733 |  | 
| 44000 | 
            -
                    # The purpose of the resource. This field can be either  | 
| 44001 | 
            -
                    #  | 
| 44002 | 
            -
                    # INTERNAL_HTTPS_LOAD_BALANCER is  | 
| 44003 | 
            -
                    #  | 
| 44004 | 
            -
                    #  | 
| 44005 | 
            -
                    #  | 
| 44734 | 
            +
                    # The purpose of the resource. This field can be either PRIVATE,
         | 
| 44735 | 
            +
                    # REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
         | 
| 44736 | 
            +
                    # INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created
         | 
| 44737 | 
            +
                    # subnets or subnets that are automatically created in auto mode networks. A
         | 
| 44738 | 
            +
                    # subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork
         | 
| 44739 | 
            +
                    # that is reserved for regional Envoy-based load balancers. A subnet with
         | 
| 44740 | 
            +
                    # purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using
         | 
| 44741 | 
            +
                    # Private Service Connect. A subnet with purpose set to
         | 
| 44742 | 
            +
                    # INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by
         | 
| 44743 | 
            +
                    # regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is
         | 
| 44744 | 
            +
                    # the preferred setting for all regional Envoy load balancers. If unspecified,
         | 
| 44745 | 
            +
                    # the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't
         | 
| 44746 | 
            +
                    # supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
         | 
| 44006 44747 | 
             
                    # Corresponds to the JSON property `purpose`
         | 
| 44007 44748 | 
             
                    # @return [String]
         | 
| 44008 44749 | 
             
                    attr_accessor :purpose
         | 
| 44009 44750 |  | 
| 44010 44751 | 
             
                    # The role of subnetwork. Currently, this field is only used when purpose =
         | 
| 44011 | 
            -
                    #  | 
| 44012 | 
            -
                    #  | 
| 44013 | 
            -
                    #  | 
| 44014 | 
            -
                    #  | 
| 44015 | 
            -
                    # request.
         | 
| 44752 | 
            +
                    # REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE
         | 
| 44753 | 
            +
                    # subnetwork is one that is currently being used for Envoy-based load balancers
         | 
| 44754 | 
            +
                    # in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE
         | 
| 44755 | 
            +
                    # or is currently draining. This field can be updated with a patch request.
         | 
| 44016 44756 | 
             
                    # Corresponds to the JSON property `role`
         | 
| 44017 44757 | 
             
                    # @return [String]
         | 
| 44018 44758 | 
             
                    attr_accessor :role
         | 
| @@ -44905,7 +45645,7 @@ module Google | |
| 44905 45645 | 
             
                    attr_accessor :local_gateway_interface
         | 
| 44906 45646 |  | 
| 44907 45647 | 
             
                    # The peer gateway interface this VPN tunnel is connected to, the peer gateway
         | 
| 44908 | 
            -
                    # could either be an external VPN gateway or  | 
| 45648 | 
            +
                    # could either be an external VPN gateway or a Google Cloud VPN gateway.
         | 
| 44909 45649 | 
             
                    # Corresponds to the JSON property `peerGatewayInterface`
         | 
| 44910 45650 | 
             
                    # @return [Fixnum]
         | 
| 44911 45651 | 
             
                    attr_accessor :peer_gateway_interface
         | 
| @@ -44928,8 +45668,8 @@ module Google | |
| 44928 45668 | 
             
                  end
         | 
| 44929 45669 |  | 
| 44930 45670 | 
             
                  # A VPN connection contains all VPN tunnels connected from this VpnGateway to
         | 
| 44931 | 
            -
                  # the same peer gateway. The peer gateway could either be  | 
| 44932 | 
            -
                  # or  | 
| 45671 | 
            +
                  # the same peer gateway. The peer gateway could either be an external VPN
         | 
| 45672 | 
            +
                  # gateway or a Google Cloud VPN gateway.
         | 
| 44933 45673 | 
             
                  class VpnGatewayStatusVpnConnection
         | 
| 44934 45674 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 44935 45675 |  |