google-apis-compute_v1 0.101.0 → 0.111.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +41 -0
- data/lib/google/apis/compute_v1/classes.rb +490 -308
- data/lib/google/apis/compute_v1/gem_version.rb +3 -3
- data/lib/google/apis/compute_v1/representations.rb +130 -117
- data/lib/google/apis/compute_v1/service.rb +24 -17
- metadata +4 -4
| @@ -1157,6 +1157,13 @@ module Google | |
| 1157 1157 | 
             
                    # @return [Fixnum]
         | 
| 1158 1158 | 
             
                    attr_accessor :threads_per_core
         | 
| 1159 1159 |  | 
| 1160 | 
            +
                    # Turbo frequency mode to use for the instance. Supported modes include: *
         | 
| 1161 | 
            +
                    # ALL_CORE_MAX Using empty string or not setting this field will use the
         | 
| 1162 | 
            +
                    # platform-specific default turbo mode.
         | 
| 1163 | 
            +
                    # Corresponds to the JSON property `turboMode`
         | 
| 1164 | 
            +
                    # @return [String]
         | 
| 1165 | 
            +
                    attr_accessor :turbo_mode
         | 
| 1166 | 
            +
                  
         | 
| 1160 1167 | 
             
                    # The number of physical cores to expose to an instance. Multiply by the number
         | 
| 1161 1168 | 
             
                    # of threads per core to compute the total number of virtual CPUs to expose to
         | 
| 1162 1169 | 
             
                    # the instance. If unset, the number of cores is inferred from the instance's
         | 
| @@ -1175,6 +1182,7 @@ module Google | |
| 1175 1182 | 
             
                      @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
         | 
| 1176 1183 | 
             
                      @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
         | 
| 1177 1184 | 
             
                      @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
         | 
| 1185 | 
            +
                      @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
         | 
| 1178 1186 | 
             
                      @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
         | 
| 1179 1187 | 
             
                    end
         | 
| 1180 1188 | 
             
                  end
         | 
| @@ -1825,8 +1833,8 @@ module Google | |
| 1825 1833 | 
             
                  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
         | 
| 1826 1834 | 
             
                  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
         | 
| 1827 1835 | 
             
                  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
         | 
| 1828 | 
            -
                  # exempts jose@example.com from DATA_READ logging, and aliya@example.com | 
| 1829 | 
            -
                  # DATA_WRITE logging.
         | 
| 1836 | 
            +
                  # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
         | 
| 1837 | 
            +
                  # from DATA_WRITE logging.
         | 
| 1830 1838 | 
             
                  class AuditConfig
         | 
| 1831 1839 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 1832 1840 |  | 
| @@ -1835,11 +1843,6 @@ module Google | |
| 1835 1843 | 
             
                    # @return [Array<Google::Apis::ComputeV1::AuditLogConfig>]
         | 
| 1836 1844 | 
             
                    attr_accessor :audit_log_configs
         | 
| 1837 1845 |  | 
| 1838 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 1839 | 
            -
                    # Corresponds to the JSON property `exemptedMembers`
         | 
| 1840 | 
            -
                    # @return [Array<String>]
         | 
| 1841 | 
            -
                    attr_accessor :exempted_members
         | 
| 1842 | 
            -
                  
         | 
| 1843 1846 | 
             
                    # Specifies a service that will be enabled for audit logging. For example, `
         | 
| 1844 1847 | 
             
                    # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
         | 
| 1845 1848 | 
             
                    # value that covers all services.
         | 
| @@ -1854,7 +1857,6 @@ module Google | |
| 1854 1857 | 
             
                    # Update properties of this object
         | 
| 1855 1858 | 
             
                    def update!(**args)
         | 
| 1856 1859 | 
             
                      @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
         | 
| 1857 | 
            -
                      @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
         | 
| 1858 1860 | 
             
                      @service = args[:service] if args.key?(:service)
         | 
| 1859 1861 | 
             
                    end
         | 
| 1860 1862 | 
             
                  end
         | 
| @@ -1873,12 +1875,6 @@ module Google | |
| 1873 1875 | 
             
                    # @return [Array<String>]
         | 
| 1874 1876 | 
             
                    attr_accessor :exempted_members
         | 
| 1875 1877 |  | 
| 1876 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 1877 | 
            -
                    # Corresponds to the JSON property `ignoreChildExemptions`
         | 
| 1878 | 
            -
                    # @return [Boolean]
         | 
| 1879 | 
            -
                    attr_accessor :ignore_child_exemptions
         | 
| 1880 | 
            -
                    alias_method :ignore_child_exemptions?, :ignore_child_exemptions
         | 
| 1881 | 
            -
                  
         | 
| 1882 1878 | 
             
                    # The log type that this config enables.
         | 
| 1883 1879 | 
             
                    # Corresponds to the JSON property `logType`
         | 
| 1884 1880 | 
             
                    # @return [String]
         | 
| @@ -1891,7 +1887,6 @@ module Google | |
| 1891 1887 | 
             
                    # Update properties of this object
         | 
| 1892 1888 | 
             
                    def update!(**args)
         | 
| 1893 1889 | 
             
                      @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
         | 
| 1894 | 
            -
                      @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
         | 
| 1895 1890 | 
             
                      @log_type = args[:log_type] if args.key?(:log_type)
         | 
| 1896 1891 | 
             
                    end
         | 
| 1897 1892 | 
             
                  end
         | 
| @@ -2941,6 +2936,11 @@ module Google | |
| 2941 2936 | 
             
                    # @return [String]
         | 
| 2942 2937 | 
             
                    attr_accessor :self_link
         | 
| 2943 2938 |  | 
| 2939 | 
            +
                    # [Output Only] List of resources referencing that backend bucket.
         | 
| 2940 | 
            +
                    # Corresponds to the JSON property `usedBy`
         | 
| 2941 | 
            +
                    # @return [Array<Google::Apis::ComputeV1::BackendBucketUsedBy>]
         | 
| 2942 | 
            +
                    attr_accessor :used_by
         | 
| 2943 | 
            +
                  
         | 
| 2944 2944 | 
             
                    def initialize(**args)
         | 
| 2945 2945 | 
             
                       update!(**args)
         | 
| 2946 2946 | 
             
                    end
         | 
| @@ -2959,6 +2959,7 @@ module Google | |
| 2959 2959 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 2960 2960 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 2961 2961 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 2962 | 
            +
                      @used_by = args[:used_by] if args.key?(:used_by)
         | 
| 2962 2963 | 
             
                    end
         | 
| 2963 2964 | 
             
                  end
         | 
| 2964 2965 |  | 
| @@ -2990,7 +2991,8 @@ module Google | |
| 2990 2991 | 
             
                    # CACHE_ALL_STATIC Automatically cache static content, including common image
         | 
| 2991 2992 | 
             
                    # formats, media (video and audio), and web assets (JavaScript and CSS).
         | 
| 2992 2993 | 
             
                    # Requests and responses that are marked as uncacheable, as well as dynamic
         | 
| 2993 | 
            -
                    # content (including HTML), will not be cached.
         | 
| 2994 | 
            +
                    # content (including HTML), will not be cached. If no value is provided for
         | 
| 2995 | 
            +
                    # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
         | 
| 2994 2996 | 
             
                    # Corresponds to the JSON property `cacheMode`
         | 
| 2995 2997 | 
             
                    # @return [String]
         | 
| 2996 2998 | 
             
                    attr_accessor :cache_mode
         | 
| @@ -3313,6 +3315,25 @@ module Google | |
| 3313 3315 | 
             
                    end
         | 
| 3314 3316 | 
             
                  end
         | 
| 3315 3317 |  | 
| 3318 | 
            +
                  # 
         | 
| 3319 | 
            +
                  class BackendBucketUsedBy
         | 
| 3320 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 3321 | 
            +
                  
         | 
| 3322 | 
            +
                    # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
         | 
| 3323 | 
            +
                    # Corresponds to the JSON property `reference`
         | 
| 3324 | 
            +
                    # @return [String]
         | 
| 3325 | 
            +
                    attr_accessor :reference
         | 
| 3326 | 
            +
                  
         | 
| 3327 | 
            +
                    def initialize(**args)
         | 
| 3328 | 
            +
                       update!(**args)
         | 
| 3329 | 
            +
                    end
         | 
| 3330 | 
            +
                  
         | 
| 3331 | 
            +
                    # Update properties of this object
         | 
| 3332 | 
            +
                    def update!(**args)
         | 
| 3333 | 
            +
                      @reference = args[:reference] if args.key?(:reference)
         | 
| 3334 | 
            +
                    end
         | 
| 3335 | 
            +
                  end
         | 
| 3336 | 
            +
                  
         | 
| 3316 3337 | 
             
                  # Represents a Backend Service resource. A backend service defines how Google
         | 
| 3317 3338 | 
             
                  # Cloud load balancers distribute traffic. The backend service configuration
         | 
| 3318 3339 | 
             
                  # contains a set of values, such as the protocol used to connect to backends,
         | 
| @@ -3458,6 +3479,28 @@ module Google | |
| 3458 3479 | 
             
                    # @return [Fixnum]
         | 
| 3459 3480 | 
             
                    attr_accessor :id
         | 
| 3460 3481 |  | 
| 3482 | 
            +
                    # Specifies a preference for traffic sent from the proxy to the backend (or from
         | 
| 3483 | 
            +
                    # the client to the backend for proxyless gRPC). The possible values are: -
         | 
| 3484 | 
            +
                    # IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (
         | 
| 3485 | 
            +
                    # Instance Group, Managed Instance Group, Network Endpoint Group), regardless of
         | 
| 3486 | 
            +
                    # traffic from the client to the proxy. Only IPv4 health checks are used to
         | 
| 3487 | 
            +
                    # check the health of the backends. This is the default setting. - PREFER_IPV6:
         | 
| 3488 | 
            +
                    # Prioritize the connection to the endpoint's IPv6 address over its IPv4 address
         | 
| 3489 | 
            +
                    # (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6
         | 
| 3490 | 
            +
                    # traffic to the backends of the backend service (Instance Group, Managed
         | 
| 3491 | 
            +
                    # Instance Group, Network Endpoint Group), regardless of traffic from the client
         | 
| 3492 | 
            +
                    # to the proxy. Only IPv6 health checks are used to check the health of the
         | 
| 3493 | 
            +
                    # backends. This field is applicable to either: - Advanced global external
         | 
| 3494 | 
            +
                    # Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional
         | 
| 3495 | 
            +
                    # external Application Load Balancer, - Internal proxy Network Load Balancer (
         | 
| 3496 | 
            +
                    # load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load
         | 
| 3497 | 
            +
                    # Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with
         | 
| 3498 | 
            +
                    # Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED).
         | 
| 3499 | 
            +
                    # 
         | 
| 3500 | 
            +
                    # Corresponds to the JSON property `ipAddressSelectionPolicy`
         | 
| 3501 | 
            +
                    # @return [String]
         | 
| 3502 | 
            +
                    attr_accessor :ip_address_selection_policy
         | 
| 3503 | 
            +
                  
         | 
| 3461 3504 | 
             
                    # [Output Only] Type of resource. Always compute#backendService for backend
         | 
| 3462 3505 | 
             
                    # services.
         | 
| 3463 3506 | 
             
                    # Corresponds to the JSON property `kind`
         | 
| @@ -3502,8 +3545,10 @@ module Google | |
| 3502 3545 | 
             
                    # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
         | 
| 3503 3546 | 
             
                    # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
         | 
| 3504 3547 | 
             
                    # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
         | 
| 3505 | 
            -
                    # sessionAffinity is not  | 
| 3506 | 
            -
                    #  | 
| 3548 | 
            +
                    # sessionAffinity is not configured—that is, if session affinity remains at the
         | 
| 3549 | 
            +
                    # default value of NONE—then the default value for localityLbPolicy is
         | 
| 3550 | 
            +
                    # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
         | 
| 3551 | 
            +
                    # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
         | 
| 3507 3552 | 
             
                    # are supported when the backend service is referenced by a URL map that is
         | 
| 3508 3553 | 
             
                    # bound to target gRPC proxy that has validateForProxyless field set to true.
         | 
| 3509 3554 | 
             
                    # Corresponds to the JSON property `localityLbPolicy`
         | 
| @@ -3626,6 +3671,11 @@ module Google | |
| 3626 3671 | 
             
                    # @return [String]
         | 
| 3627 3672 | 
             
                    attr_accessor :session_affinity
         | 
| 3628 3673 |  | 
| 3674 | 
            +
                    # The HTTP cookie used for stateful session affinity.
         | 
| 3675 | 
            +
                    # Corresponds to the JSON property `strongSessionAffinityCookie`
         | 
| 3676 | 
            +
                    # @return [Google::Apis::ComputeV1::BackendServiceHttpCookie]
         | 
| 3677 | 
            +
                    attr_accessor :strong_session_affinity_cookie
         | 
| 3678 | 
            +
                  
         | 
| 3629 3679 | 
             
                    # Subsetting configuration for this BackendService. Currently this is applicable
         | 
| 3630 3680 | 
             
                    # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
         | 
| 3631 3681 | 
             
                    # Traffic Director.
         | 
| @@ -3645,7 +3695,7 @@ module Google | |
| 3645 3695 | 
             
                    # @return [Fixnum]
         | 
| 3646 3696 | 
             
                    attr_accessor :timeout_sec
         | 
| 3647 3697 |  | 
| 3648 | 
            -
                    # 
         | 
| 3698 | 
            +
                    # [Output Only] List of resources referencing given backend service.
         | 
| 3649 3699 | 
             
                    # Corresponds to the JSON property `usedBy`
         | 
| 3650 3700 | 
             
                    # @return [Array<Google::Apis::ComputeV1::BackendServiceUsedBy>]
         | 
| 3651 3701 | 
             
                    attr_accessor :used_by
         | 
| @@ -3675,6 +3725,7 @@ module Google | |
| 3675 3725 | 
             
                      @health_checks = args[:health_checks] if args.key?(:health_checks)
         | 
| 3676 3726 | 
             
                      @iap = args[:iap] if args.key?(:iap)
         | 
| 3677 3727 | 
             
                      @id = args[:id] if args.key?(:id)
         | 
| 3728 | 
            +
                      @ip_address_selection_policy = args[:ip_address_selection_policy] if args.key?(:ip_address_selection_policy)
         | 
| 3678 3729 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 3679 3730 | 
             
                      @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
         | 
| 3680 3731 | 
             
                      @locality_lb_policies = args[:locality_lb_policies] if args.key?(:locality_lb_policies)
         | 
| @@ -3695,6 +3746,7 @@ module Google | |
| 3695 3746 | 
             
                      @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
         | 
| 3696 3747 | 
             
                      @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
         | 
| 3697 3748 | 
             
                      @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
         | 
| 3749 | 
            +
                      @strong_session_affinity_cookie = args[:strong_session_affinity_cookie] if args.key?(:strong_session_affinity_cookie)
         | 
| 3698 3750 | 
             
                      @subsetting = args[:subsetting] if args.key?(:subsetting)
         | 
| 3699 3751 | 
             
                      @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
         | 
| 3700 3752 | 
             
                      @used_by = args[:used_by] if args.key?(:used_by)
         | 
| @@ -3852,7 +3904,8 @@ module Google | |
| 3852 3904 | 
             
                    # CACHE_ALL_STATIC Automatically cache static content, including common image
         | 
| 3853 3905 | 
             
                    # formats, media (video and audio), and web assets (JavaScript and CSS).
         | 
| 3854 3906 | 
             
                    # Requests and responses that are marked as uncacheable, as well as dynamic
         | 
| 3855 | 
            -
                    # content (including HTML), will not be cached.
         | 
| 3907 | 
            +
                    # content (including HTML), will not be cached. If no value is provided for
         | 
| 3908 | 
            +
                    # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
         | 
| 3856 3909 | 
             
                    # Corresponds to the JSON property `cacheMode`
         | 
| 3857 3910 | 
             
                    # @return [String]
         | 
| 3858 3911 | 
             
                    attr_accessor :cache_mode
         | 
| @@ -4187,6 +4240,40 @@ module Google | |
| 4187 4240 | 
             
                    end
         | 
| 4188 4241 | 
             
                  end
         | 
| 4189 4242 |  | 
| 4243 | 
            +
                  # The HTTP cookie used for stateful session affinity.
         | 
| 4244 | 
            +
                  class BackendServiceHttpCookie
         | 
| 4245 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 4246 | 
            +
                  
         | 
| 4247 | 
            +
                    # Name of the cookie.
         | 
| 4248 | 
            +
                    # Corresponds to the JSON property `name`
         | 
| 4249 | 
            +
                    # @return [String]
         | 
| 4250 | 
            +
                    attr_accessor :name
         | 
| 4251 | 
            +
                  
         | 
| 4252 | 
            +
                    # Path to set for the cookie.
         | 
| 4253 | 
            +
                    # Corresponds to the JSON property `path`
         | 
| 4254 | 
            +
                    # @return [String]
         | 
| 4255 | 
            +
                    attr_accessor :path
         | 
| 4256 | 
            +
                  
         | 
| 4257 | 
            +
                    # A Duration represents a fixed-length span of time represented as a count of
         | 
| 4258 | 
            +
                    # seconds and fractions of seconds at nanosecond resolution. It is independent
         | 
| 4259 | 
            +
                    # of any calendar and concepts like "day" or "month". Range is approximately 10,
         | 
| 4260 | 
            +
                    # 000 years.
         | 
| 4261 | 
            +
                    # Corresponds to the JSON property `ttl`
         | 
| 4262 | 
            +
                    # @return [Google::Apis::ComputeV1::Duration]
         | 
| 4263 | 
            +
                    attr_accessor :ttl
         | 
| 4264 | 
            +
                  
         | 
| 4265 | 
            +
                    def initialize(**args)
         | 
| 4266 | 
            +
                       update!(**args)
         | 
| 4267 | 
            +
                    end
         | 
| 4268 | 
            +
                  
         | 
| 4269 | 
            +
                    # Update properties of this object
         | 
| 4270 | 
            +
                    def update!(**args)
         | 
| 4271 | 
            +
                      @name = args[:name] if args.key?(:name)
         | 
| 4272 | 
            +
                      @path = args[:path] if args.key?(:path)
         | 
| 4273 | 
            +
                      @ttl = args[:ttl] if args.key?(:ttl)
         | 
| 4274 | 
            +
                    end
         | 
| 4275 | 
            +
                  end
         | 
| 4276 | 
            +
                  
         | 
| 4190 4277 | 
             
                  # Identity-Aware Proxy
         | 
| 4191 4278 | 
             
                  class BackendServiceIap
         | 
| 4192 4279 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -4619,7 +4706,9 @@ module Google | |
| 4619 4706 | 
             
                  class BackendServiceUsedBy
         | 
| 4620 4707 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 4621 4708 |  | 
| 4622 | 
            -
                    # 
         | 
| 4709 | 
            +
                    # [Output Only] Server-defined URL for resources referencing given
         | 
| 4710 | 
            +
                    # BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and
         | 
| 4711 | 
            +
                    # ForwardingRule.
         | 
| 4623 4712 | 
             
                    # Corresponds to the JSON property `reference`
         | 
| 4624 4713 | 
             
                    # @return [String]
         | 
| 4625 4714 | 
             
                    attr_accessor :reference
         | 
| @@ -4978,11 +5067,6 @@ module Google | |
| 4978 5067 | 
             
                  class Binding
         | 
| 4979 5068 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 4980 5069 |  | 
| 4981 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 4982 | 
            -
                    # Corresponds to the JSON property `bindingId`
         | 
| 4983 | 
            -
                    # @return [String]
         | 
| 4984 | 
            -
                    attr_accessor :binding_id
         | 
| 4985 | 
            -
                  
         | 
| 4986 5070 | 
             
                    # Represents a textual expression in the Common Expression Language (CEL) syntax.
         | 
| 4987 5071 | 
             
                    # CEL is a C-like expression language. The syntax and semantics of CEL are
         | 
| 4988 5072 | 
             
                    # documented at https://github.com/google/cel-spec. Example (Comparison): title:
         | 
| @@ -5074,7 +5158,6 @@ module Google | |
| 5074 5158 |  | 
| 5075 5159 | 
             
                    # Update properties of this object
         | 
| 5076 5160 | 
             
                    def update!(**args)
         | 
| 5077 | 
            -
                      @binding_id = args[:binding_id] if args.key?(:binding_id)
         | 
| 5078 5161 | 
             
                      @condition = args[:condition] if args.key?(:condition)
         | 
| 5079 5162 | 
             
                      @members = args[:members] if args.key?(:members)
         | 
| 5080 5163 | 
             
                      @role = args[:role] if args.key?(:role)
         | 
| @@ -5441,6 +5524,13 @@ module Google | |
| 5441 5524 | 
             
                    # @return [String]
         | 
| 5442 5525 | 
             
                    attr_accessor :creation_timestamp
         | 
| 5443 5526 |  | 
| 5527 | 
            +
                    # [Input Only] Optional, specifies the CUD end time requested by the customer in
         | 
| 5528 | 
            +
                    # RFC3339 text format. Needed when the customer wants CUD's end date is later
         | 
| 5529 | 
            +
                    # than the start date + term duration.
         | 
| 5530 | 
            +
                    # Corresponds to the JSON property `customEndTimestamp`
         | 
| 5531 | 
            +
                    # @return [String]
         | 
| 5532 | 
            +
                    attr_accessor :custom_end_timestamp
         | 
| 5533 | 
            +
                  
         | 
| 5444 5534 | 
             
                    # An optional description of this resource. Provide this property when you
         | 
| 5445 5535 | 
             
                    # create the resource.
         | 
| 5446 5536 | 
             
                    # Corresponds to the JSON property `description`
         | 
| @@ -5509,6 +5599,11 @@ module Google | |
| 5509 5599 | 
             
                    # @return [Array<Google::Apis::ComputeV1::Reservation>]
         | 
| 5510 5600 | 
             
                    attr_accessor :reservations
         | 
| 5511 5601 |  | 
| 5602 | 
            +
                    # [Output Only] Contains output only fields.
         | 
| 5603 | 
            +
                    # Corresponds to the JSON property `resourceStatus`
         | 
| 5604 | 
            +
                    # @return [Google::Apis::ComputeV1::CommitmentResourceStatus]
         | 
| 5605 | 
            +
                    attr_accessor :resource_status
         | 
| 5606 | 
            +
                  
         | 
| 5512 5607 | 
             
                    # A list of commitment amounts for particular resources. Note that VCPU and
         | 
| 5513 5608 | 
             
                    # MEMORY resource commitments must occur together.
         | 
| 5514 5609 | 
             
                    # Corresponds to the JSON property `resources`
         | 
| @@ -5559,6 +5654,7 @@ module Google | |
| 5559 5654 | 
             
                      @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
         | 
| 5560 5655 | 
             
                      @category = args[:category] if args.key?(:category)
         | 
| 5561 5656 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 5657 | 
            +
                      @custom_end_timestamp = args[:custom_end_timestamp] if args.key?(:custom_end_timestamp)
         | 
| 5562 5658 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 5563 5659 | 
             
                      @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
         | 
| 5564 5660 | 
             
                      @existing_reservations = args[:existing_reservations] if args.key?(:existing_reservations)
         | 
| @@ -5570,6 +5666,7 @@ module Google | |
| 5570 5666 | 
             
                      @plan = args[:plan] if args.key?(:plan)
         | 
| 5571 5667 | 
             
                      @region = args[:region] if args.key?(:region)
         | 
| 5572 5668 | 
             
                      @reservations = args[:reservations] if args.key?(:reservations)
         | 
| 5669 | 
            +
                      @resource_status = args[:resource_status] if args.key?(:resource_status)
         | 
| 5573 5670 | 
             
                      @resources = args[:resources] if args.key?(:resources)
         | 
| 5574 5671 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 5575 5672 | 
             
                      @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
         | 
| @@ -5822,6 +5919,27 @@ module Google | |
| 5822 5919 | 
             
                    end
         | 
| 5823 5920 | 
             
                  end
         | 
| 5824 5921 |  | 
| 5922 | 
            +
                  # [Output Only] Contains output only fields.
         | 
| 5923 | 
            +
                  class CommitmentResourceStatus
         | 
| 5924 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 5925 | 
            +
                  
         | 
| 5926 | 
            +
                    # [Output Only] Indicates the end time of customer's eligibility to send custom
         | 
| 5927 | 
            +
                    # term requests in RFC3339 text format. Term extension requests that (not the
         | 
| 5928 | 
            +
                    # end time in the request) after this time will be rejected.
         | 
| 5929 | 
            +
                    # Corresponds to the JSON property `customTermEligibilityEndTimestamp`
         | 
| 5930 | 
            +
                    # @return [String]
         | 
| 5931 | 
            +
                    attr_accessor :custom_term_eligibility_end_timestamp
         | 
| 5932 | 
            +
                  
         | 
| 5933 | 
            +
                    def initialize(**args)
         | 
| 5934 | 
            +
                       update!(**args)
         | 
| 5935 | 
            +
                    end
         | 
| 5936 | 
            +
                  
         | 
| 5937 | 
            +
                    # Update properties of this object
         | 
| 5938 | 
            +
                    def update!(**args)
         | 
| 5939 | 
            +
                      @custom_term_eligibility_end_timestamp = args[:custom_term_eligibility_end_timestamp] if args.key?(:custom_term_eligibility_end_timestamp)
         | 
| 5940 | 
            +
                    end
         | 
| 5941 | 
            +
                  end
         | 
| 5942 | 
            +
                  
         | 
| 5825 5943 | 
             
                  # 
         | 
| 5826 5944 | 
             
                  class CommitmentsScopedList
         | 
| 5827 5945 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -5913,49 +6031,6 @@ module Google | |
| 5913 6031 | 
             
                    end
         | 
| 5914 6032 | 
             
                  end
         | 
| 5915 6033 |  | 
| 5916 | 
            -
                  # This is deprecated and has no effect. Do not use.
         | 
| 5917 | 
            -
                  class Condition
         | 
| 5918 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 5919 | 
            -
                  
         | 
| 5920 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 5921 | 
            -
                    # Corresponds to the JSON property `iam`
         | 
| 5922 | 
            -
                    # @return [String]
         | 
| 5923 | 
            -
                    attr_accessor :iam
         | 
| 5924 | 
            -
                  
         | 
| 5925 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 5926 | 
            -
                    # Corresponds to the JSON property `op`
         | 
| 5927 | 
            -
                    # @return [String]
         | 
| 5928 | 
            -
                    attr_accessor :op
         | 
| 5929 | 
            -
                  
         | 
| 5930 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 5931 | 
            -
                    # Corresponds to the JSON property `svc`
         | 
| 5932 | 
            -
                    # @return [String]
         | 
| 5933 | 
            -
                    attr_accessor :svc
         | 
| 5934 | 
            -
                  
         | 
| 5935 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 5936 | 
            -
                    # Corresponds to the JSON property `sys`
         | 
| 5937 | 
            -
                    # @return [String]
         | 
| 5938 | 
            -
                    attr_accessor :sys
         | 
| 5939 | 
            -
                  
         | 
| 5940 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 5941 | 
            -
                    # Corresponds to the JSON property `values`
         | 
| 5942 | 
            -
                    # @return [Array<String>]
         | 
| 5943 | 
            -
                    attr_accessor :values
         | 
| 5944 | 
            -
                  
         | 
| 5945 | 
            -
                    def initialize(**args)
         | 
| 5946 | 
            -
                       update!(**args)
         | 
| 5947 | 
            -
                    end
         | 
| 5948 | 
            -
                  
         | 
| 5949 | 
            -
                    # Update properties of this object
         | 
| 5950 | 
            -
                    def update!(**args)
         | 
| 5951 | 
            -
                      @iam = args[:iam] if args.key?(:iam)
         | 
| 5952 | 
            -
                      @op = args[:op] if args.key?(:op)
         | 
| 5953 | 
            -
                      @svc = args[:svc] if args.key?(:svc)
         | 
| 5954 | 
            -
                      @sys = args[:sys] if args.key?(:sys)
         | 
| 5955 | 
            -
                      @values = args[:values] if args.key?(:values)
         | 
| 5956 | 
            -
                    end
         | 
| 5957 | 
            -
                  end
         | 
| 5958 | 
            -
                  
         | 
| 5959 6034 | 
             
                  # A set of Confidential Instance options.
         | 
| 5960 6035 | 
             
                  class ConfidentialInstanceConfig
         | 
| 5961 6036 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -9281,7 +9356,9 @@ module Google | |
| 9281 9356 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 9282 9357 |  | 
| 9283 9358 | 
             
                    # The Action to perform when the client connection triggers the rule. Valid
         | 
| 9284 | 
            -
                    # actions are "allow", "deny"  | 
| 9359 | 
            +
                    # actions for firewall rules are: "allow", "deny", "apply_security_profile_group"
         | 
| 9360 | 
            +
                    # and "goto_next". Valid actions for packet mirroring rules are: "mirror", "
         | 
| 9361 | 
            +
                    # do_not_mirror" and "goto_next".
         | 
| 9285 9362 | 
             
                    # Corresponds to the JSON property `action`
         | 
| 9286 9363 | 
             
                    # @return [String]
         | 
| 9287 9364 | 
             
                    attr_accessor :action
         | 
| @@ -9313,8 +9390,8 @@ module Google | |
| 9313 9390 | 
             
                    attr_accessor :enable_logging
         | 
| 9314 9391 | 
             
                    alias_method :enable_logging?, :enable_logging
         | 
| 9315 9392 |  | 
| 9316 | 
            -
                    # [Output only] Type of the resource.  | 
| 9317 | 
            -
                    # firewall  | 
| 9393 | 
            +
                    # [Output only] Type of the resource. Returns compute#firewallPolicyRule for
         | 
| 9394 | 
            +
                    # firewall rules and compute#packetMirroringRule for packet mirroring rules.
         | 
| 9318 9395 | 
             
                    # Corresponds to the JSON property `kind`
         | 
| 9319 9396 | 
             
                    # @return [String]
         | 
| 9320 9397 | 
             
                    attr_accessor :kind
         | 
| @@ -9328,7 +9405,7 @@ module Google | |
| 9328 9405 | 
             
                    # An integer indicating the priority of a rule in the list. The priority must be
         | 
| 9329 9406 | 
             
                    # a positive value between 0 and 2147483647. Rules are evaluated from highest to
         | 
| 9330 9407 | 
             
                    # lowest priority where 0 is the highest priority and 2147483647 is the lowest
         | 
| 9331 | 
            -
                    #  | 
| 9408 | 
            +
                    # priority.
         | 
| 9332 9409 | 
             
                    # Corresponds to the JSON property `priority`
         | 
| 9333 9410 | 
             
                    # @return [Fixnum]
         | 
| 9334 9411 | 
             
                    attr_accessor :priority
         | 
| @@ -9346,8 +9423,9 @@ module Google | |
| 9346 9423 |  | 
| 9347 9424 | 
             
                    # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
         | 
| 9348 9425 | 
             
                    # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
         | 
| 9349 | 
            -
                    # securityProfileGroups/my-security-profile-group Must be specified if action  | 
| 9350 | 
            -
                    # apply_security_profile_group'  | 
| 9426 | 
            +
                    # securityProfileGroups/my-security-profile-group Must be specified if action is
         | 
| 9427 | 
            +
                    # one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for
         | 
| 9428 | 
            +
                    # other actions.
         | 
| 9351 9429 | 
             
                    # Corresponds to the JSON property `securityProfileGroup`
         | 
| 9352 9430 | 
             
                    # @return [String]
         | 
| 9353 9431 | 
             
                    attr_accessor :security_profile_group
         | 
| @@ -11147,6 +11225,20 @@ module Google | |
| 11147 11225 | 
             
                    # @return [String]
         | 
| 11148 11226 | 
             
                    attr_accessor :self_link
         | 
| 11149 11227 |  | 
| 11228 | 
            +
                    # The list of cloud regions from which health checks are performed. If any
         | 
| 11229 | 
            +
                    # regions are specified, then exactly 3 regions should be specified. The region
         | 
| 11230 | 
            +
                    # names must be valid names of Google Cloud regions. This can only be set for
         | 
| 11231 | 
            +
                    # global health check. If this list is non-empty, then there are restrictions on
         | 
| 11232 | 
            +
                    # what other health check fields are supported and what other resources can use
         | 
| 11233 | 
            +
                    # this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The
         | 
| 11234 | 
            +
                    # TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS,
         | 
| 11235 | 
            +
                    # and TCP is not supported. - The checkIntervalSec field must be at least 30. -
         | 
| 11236 | 
            +
                    # The health check cannot be used with BackendService nor with managed instance
         | 
| 11237 | 
            +
                    # group auto-healing.
         | 
| 11238 | 
            +
                    # Corresponds to the JSON property `sourceRegions`
         | 
| 11239 | 
            +
                    # @return [Array<String>]
         | 
| 11240 | 
            +
                    attr_accessor :source_regions
         | 
| 11241 | 
            +
                  
         | 
| 11150 11242 | 
             
                    # 
         | 
| 11151 11243 | 
             
                    # Corresponds to the JSON property `sslHealthCheck`
         | 
| 11152 11244 | 
             
                    # @return [Google::Apis::ComputeV1::SslHealthCheck]
         | 
| @@ -11197,6 +11289,7 @@ module Google | |
| 11197 11289 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 11198 11290 | 
             
                      @region = args[:region] if args.key?(:region)
         | 
| 11199 11291 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 11292 | 
            +
                      @source_regions = args[:source_regions] if args.key?(:source_regions)
         | 
| 11200 11293 | 
             
                      @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
         | 
| 11201 11294 | 
             
                      @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
         | 
| 11202 11295 | 
             
                      @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
         | 
| @@ -11884,6 +11977,16 @@ module Google | |
| 11884 11977 | 
             
                    # @return [String]
         | 
| 11885 11978 | 
             
                    attr_accessor :ip_address
         | 
| 11886 11979 |  | 
| 11980 | 
            +
                    # 
         | 
| 11981 | 
            +
                    # Corresponds to the JSON property `ipv6Address`
         | 
| 11982 | 
            +
                    # @return [String]
         | 
| 11983 | 
            +
                    attr_accessor :ipv6_address
         | 
| 11984 | 
            +
                  
         | 
| 11985 | 
            +
                    # Health state of the IPv6 address of the instance.
         | 
| 11986 | 
            +
                    # Corresponds to the JSON property `ipv6HealthState`
         | 
| 11987 | 
            +
                    # @return [String]
         | 
| 11988 | 
            +
                    attr_accessor :ipv6_health_state
         | 
| 11989 | 
            +
                  
         | 
| 11887 11990 | 
             
                    # The named port of the instance group, not necessarily the port that is health-
         | 
| 11888 11991 | 
             
                    # checked.
         | 
| 11889 11992 | 
             
                    # Corresponds to the JSON property `port`
         | 
| @@ -11912,6 +12015,8 @@ module Google | |
| 11912 12015 | 
             
                      @health_state = args[:health_state] if args.key?(:health_state)
         | 
| 11913 12016 | 
             
                      @instance = args[:instance] if args.key?(:instance)
         | 
| 11914 12017 | 
             
                      @ip_address = args[:ip_address] if args.key?(:ip_address)
         | 
| 12018 | 
            +
                      @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
         | 
| 12019 | 
            +
                      @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state)
         | 
| 11915 12020 | 
             
                      @port = args[:port] if args.key?(:port)
         | 
| 11916 12021 | 
             
                      @weight = args[:weight] if args.key?(:weight)
         | 
| 11917 12022 | 
             
                      @weight_error = args[:weight_error] if args.key?(:weight_error)
         | 
| @@ -11957,6 +12062,12 @@ module Google | |
| 11957 12062 | 
             
                    # @return [String]
         | 
| 11958 12063 | 
             
                    attr_accessor :health_state
         | 
| 11959 12064 |  | 
| 12065 | 
            +
                    # Health state of the ipv6 network endpoint determined based on the health
         | 
| 12066 | 
            +
                    # checks configured.
         | 
| 12067 | 
            +
                    # Corresponds to the JSON property `ipv6HealthState`
         | 
| 12068 | 
            +
                    # @return [String]
         | 
| 12069 | 
            +
                    attr_accessor :ipv6_health_state
         | 
| 12070 | 
            +
                  
         | 
| 11960 12071 | 
             
                    def initialize(**args)
         | 
| 11961 12072 | 
             
                       update!(**args)
         | 
| 11962 12073 | 
             
                    end
         | 
| @@ -11968,6 +12079,7 @@ module Google | |
| 11968 12079 | 
             
                      @health_check = args[:health_check] if args.key?(:health_check)
         | 
| 11969 12080 | 
             
                      @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
         | 
| 11970 12081 | 
             
                      @health_state = args[:health_state] if args.key?(:health_state)
         | 
| 12082 | 
            +
                      @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state)
         | 
| 11971 12083 | 
             
                    end
         | 
| 11972 12084 | 
             
                  end
         | 
| 11973 12085 |  | 
| @@ -14641,10 +14753,15 @@ module Google | |
| 14641 14753 | 
             
                    # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerAutoHealingPolicy>]
         | 
| 14642 14754 | 
             
                    attr_accessor :auto_healing_policies
         | 
| 14643 14755 |  | 
| 14644 | 
            -
                    # The base instance name  | 
| 14645 | 
            -
                    #  | 
| 14646 | 
            -
                    #  | 
| 14647 | 
            -
                    #  | 
| 14756 | 
            +
                    # The base instance name is a prefix that you want to attach to the names of all
         | 
| 14757 | 
            +
                    # VMs in a MIG. The maximum character length is 58 and the name must comply with
         | 
| 14758 | 
            +
                    # RFC1035 format. When a VM is created in the group, the MIG appends a hyphen
         | 
| 14759 | 
            +
                    # and a random four-character string to the base instance name. If you want the
         | 
| 14760 | 
            +
                    # MIG to assign sequential numbers instead of a random string, then end the base
         | 
| 14761 | 
            +
                    # instance name with a hyphen followed by one or more hash symbols. The hash
         | 
| 14762 | 
            +
                    # symbols indicate the number of digits. For example, a base instance name of "
         | 
| 14763 | 
            +
                    # vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]`0,57`)|([-
         | 
| 14764 | 
            +
                    # a-z0-9]`0,51`-#`1,10`(\\[[0-9]`1,10`\\])?))
         | 
| 14648 14765 | 
             
                    # Corresponds to the JSON property `baseInstanceName`
         | 
| 14649 14766 | 
             
                    # @return [String]
         | 
| 14650 14767 | 
             
                    attr_accessor :base_instance_name
         | 
| @@ -14688,6 +14805,13 @@ module Google | |
| 14688 14805 | 
             
                    # @return [Fixnum]
         | 
| 14689 14806 | 
             
                    attr_accessor :id
         | 
| 14690 14807 |  | 
| 14808 | 
            +
                    # Instance flexibility allowing MIG to create VMs from multiple types of
         | 
| 14809 | 
            +
                    # machines. Instance flexibility configuration on MIG overrides instance
         | 
| 14810 | 
            +
                    # template configuration.
         | 
| 14811 | 
            +
                    # Corresponds to the JSON property `instanceFlexibilityPolicy`
         | 
| 14812 | 
            +
                    # @return [Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicy]
         | 
| 14813 | 
            +
                    attr_accessor :instance_flexibility_policy
         | 
| 14814 | 
            +
                  
         | 
| 14691 14815 | 
             
                    # [Output Only] The URL of the Instance Group resource.
         | 
| 14692 14816 | 
             
                    # Corresponds to the JSON property `instanceGroup`
         | 
| 14693 14817 | 
             
                    # @return [String]
         | 
| @@ -14725,8 +14849,8 @@ module Google | |
| 14725 14849 | 
             
                    # @return [String]
         | 
| 14726 14850 | 
             
                    attr_accessor :name
         | 
| 14727 14851 |  | 
| 14728 | 
            -
                    # Named ports configured  | 
| 14729 | 
            -
                    # Group Manager.
         | 
| 14852 | 
            +
                    # [Output Only] Named ports configured on the Instance Groups complementary to
         | 
| 14853 | 
            +
                    # this Instance Group Manager.
         | 
| 14730 14854 | 
             
                    # Corresponds to the JSON property `namedPorts`
         | 
| 14731 14855 | 
             
                    # @return [Array<Google::Apis::ComputeV1::NamedPort>]
         | 
| 14732 14856 | 
             
                    attr_accessor :named_ports
         | 
| @@ -14816,6 +14940,7 @@ module Google | |
| 14816 14940 | 
             
                      @distribution_policy = args[:distribution_policy] if args.key?(:distribution_policy)
         | 
| 14817 14941 | 
             
                      @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
         | 
| 14818 14942 | 
             
                      @id = args[:id] if args.key?(:id)
         | 
| 14943 | 
            +
                      @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy)
         | 
| 14819 14944 | 
             
                      @instance_group = args[:instance_group] if args.key?(:instance_group)
         | 
| 14820 14945 | 
             
                      @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy)
         | 
| 14821 14946 | 
             
                      @instance_template = args[:instance_template] if args.key?(:instance_template)
         | 
| @@ -15126,6 +15251,54 @@ module Google | |
| 15126 15251 | 
             
                    end
         | 
| 15127 15252 | 
             
                  end
         | 
| 15128 15253 |  | 
| 15254 | 
            +
                  # 
         | 
| 15255 | 
            +
                  class InstanceGroupManagerInstanceFlexibilityPolicy
         | 
| 15256 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 15257 | 
            +
                  
         | 
| 15258 | 
            +
                    # Named instance selections configuring properties that the group will use when
         | 
| 15259 | 
            +
                    # creating new VMs.
         | 
| 15260 | 
            +
                    # Corresponds to the JSON property `instanceSelections`
         | 
| 15261 | 
            +
                    # @return [Hash<String,Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection>]
         | 
| 15262 | 
            +
                    attr_accessor :instance_selections
         | 
| 15263 | 
            +
                  
         | 
| 15264 | 
            +
                    def initialize(**args)
         | 
| 15265 | 
            +
                       update!(**args)
         | 
| 15266 | 
            +
                    end
         | 
| 15267 | 
            +
                  
         | 
| 15268 | 
            +
                    # Update properties of this object
         | 
| 15269 | 
            +
                    def update!(**args)
         | 
| 15270 | 
            +
                      @instance_selections = args[:instance_selections] if args.key?(:instance_selections)
         | 
| 15271 | 
            +
                    end
         | 
| 15272 | 
            +
                  end
         | 
| 15273 | 
            +
                  
         | 
| 15274 | 
            +
                  # 
         | 
| 15275 | 
            +
                  class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection
         | 
| 15276 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 15277 | 
            +
                  
         | 
| 15278 | 
            +
                    # Full machine-type names, e.g. "n1-standard-16".
         | 
| 15279 | 
            +
                    # Corresponds to the JSON property `machineTypes`
         | 
| 15280 | 
            +
                    # @return [Array<String>]
         | 
| 15281 | 
            +
                    attr_accessor :machine_types
         | 
| 15282 | 
            +
                  
         | 
| 15283 | 
            +
                    # Preference of this instance selection. Lower number means higher preference.
         | 
| 15284 | 
            +
                    # MIG will first try to create a VM based on the machine-type with lowest rank
         | 
| 15285 | 
            +
                    # and fallback to next rank based on availability. Machine types and instance
         | 
| 15286 | 
            +
                    # selections with the same rank have the same preference.
         | 
| 15287 | 
            +
                    # Corresponds to the JSON property `rank`
         | 
| 15288 | 
            +
                    # @return [Fixnum]
         | 
| 15289 | 
            +
                    attr_accessor :rank
         | 
| 15290 | 
            +
                  
         | 
| 15291 | 
            +
                    def initialize(**args)
         | 
| 15292 | 
            +
                       update!(**args)
         | 
| 15293 | 
            +
                    end
         | 
| 15294 | 
            +
                  
         | 
| 15295 | 
            +
                    # Update properties of this object
         | 
| 15296 | 
            +
                    def update!(**args)
         | 
| 15297 | 
            +
                      @machine_types = args[:machine_types] if args.key?(:machine_types)
         | 
| 15298 | 
            +
                      @rank = args[:rank] if args.key?(:rank)
         | 
| 15299 | 
            +
                    end
         | 
| 15300 | 
            +
                  end
         | 
| 15301 | 
            +
                  
         | 
| 15129 15302 | 
             
                  # 
         | 
| 15130 15303 | 
             
                  class InstanceGroupManagerInstanceLifecyclePolicy
         | 
| 15131 15304 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -15322,7 +15495,8 @@ module Google | |
| 15322 15495 | 
             
                    attr_accessor :requested_run_duration
         | 
| 15323 15496 |  | 
| 15324 15497 | 
             
                    # The number of instances to be created by this resize request. The group's
         | 
| 15325 | 
            -
                    # target size will be increased by this number.
         | 
| 15498 | 
            +
                    # target size will be increased by this number. This field cannot be used
         | 
| 15499 | 
            +
                    # together with 'instances'.
         | 
| 15326 15500 | 
             
                    # Corresponds to the JSON property `resizeBy`
         | 
| 15327 15501 | 
             
                    # @return [Fixnum]
         | 
| 15328 15502 | 
             
                    attr_accessor :resize_by
         | 
| @@ -18018,7 +18192,7 @@ module Google | |
| 18018 18192 | 
             
                  class InstancesGetEffectiveFirewallsResponse
         | 
| 18019 18193 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 18020 18194 |  | 
| 18021 | 
            -
                    # Effective firewalls from firewall policies.
         | 
| 18195 | 
            +
                    # [Output Only] Effective firewalls from firewall policies.
         | 
| 18022 18196 | 
             
                    # Corresponds to the JSON property `firewallPolicys`
         | 
| 18023 18197 | 
             
                    # @return [Array<Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
         | 
| 18024 18198 | 
             
                    attr_accessor :firewall_policys
         | 
| @@ -18054,7 +18228,15 @@ module Google | |
| 18054 18228 | 
             
                    # @return [String]
         | 
| 18055 18229 | 
             
                    attr_accessor :name
         | 
| 18056 18230 |  | 
| 18057 | 
            -
                    #  | 
| 18231 | 
            +
                    # [Output only] Priority of firewall policy association. Not applicable for type=
         | 
| 18232 | 
            +
                    # HIERARCHY.
         | 
| 18233 | 
            +
                    # Corresponds to the JSON property `priority`
         | 
| 18234 | 
            +
                    # @return [Fixnum]
         | 
| 18235 | 
            +
                    attr_accessor :priority
         | 
| 18236 | 
            +
                  
         | 
| 18237 | 
            +
                    # [Output Only] The rules that apply to the instance. Only rules that target the
         | 
| 18238 | 
            +
                    # specific VM instance are returned if target service accounts or target secure
         | 
| 18239 | 
            +
                    # tags are specified in the rules.
         | 
| 18058 18240 | 
             
                    # Corresponds to the JSON property `rules`
         | 
| 18059 18241 | 
             
                    # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
         | 
| 18060 18242 | 
             
                    attr_accessor :rules
         | 
| @@ -18078,6 +18260,7 @@ module Google | |
| 18078 18260 | 
             
                    def update!(**args)
         | 
| 18079 18261 | 
             
                      @display_name = args[:display_name] if args.key?(:display_name)
         | 
| 18080 18262 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 18263 | 
            +
                      @priority = args[:priority] if args.key?(:priority)
         | 
| 18081 18264 | 
             
                      @rules = args[:rules] if args.key?(:rules)
         | 
| 18082 18265 | 
             
                      @short_name = args[:short_name] if args.key?(:short_name)
         | 
| 18083 18266 | 
             
                      @type = args[:type] if args.key?(:type)
         | 
| @@ -18936,7 +19119,7 @@ module Google | |
| 18936 19119 | 
             
                    alias_method :admin_enabled?, :admin_enabled
         | 
| 18937 19120 |  | 
| 18938 19121 | 
             
                    # [Output only] List of features available for this Interconnect connection,
         | 
| 18939 | 
            -
                    # which can take one of the following values: -  | 
| 19122 | 
            +
                    # which can take one of the following values: - IF_MACSEC If present then the
         | 
| 18940 19123 | 
             
                    # Interconnect connection is provisioned on MACsec capable hardware ports. If
         | 
| 18941 19124 | 
             
                    # not present then the Interconnect connection is provisioned on non-MACsec
         | 
| 18942 19125 | 
             
                    # capable ports and MACsec isn't supported and enabling MACsec fails.
         | 
| @@ -19107,7 +19290,7 @@ module Google | |
| 19107 19290 | 
             
                    attr_accessor :remote_location
         | 
| 19108 19291 |  | 
| 19109 19292 | 
             
                    # Optional. List of features requested for this Interconnect connection, which
         | 
| 19110 | 
            -
                    # can take one of the following values: -  | 
| 19293 | 
            +
                    # can take one of the following values: - IF_MACSEC If specified then the
         | 
| 19111 19294 | 
             
                    # connection is created on MACsec capable hardware ports. If not specified, the
         | 
| 19112 19295 | 
             
                    # default value is false, which allocates non-MACsec capable ports first if
         | 
| 19113 19296 | 
             
                    # available. This parameter can be provided only with Interconnect INSERT. It
         | 
| @@ -21795,131 +21978,6 @@ module Google | |
| 21795 21978 | 
             
                    end
         | 
| 21796 21979 | 
             
                  end
         | 
| 21797 21980 |  | 
| 21798 | 
            -
                  # This is deprecated and has no effect. Do not use.
         | 
| 21799 | 
            -
                  class LogConfig
         | 
| 21800 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 21801 | 
            -
                  
         | 
| 21802 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21803 | 
            -
                    # Corresponds to the JSON property `cloudAudit`
         | 
| 21804 | 
            -
                    # @return [Google::Apis::ComputeV1::LogConfigCloudAuditOptions]
         | 
| 21805 | 
            -
                    attr_accessor :cloud_audit
         | 
| 21806 | 
            -
                  
         | 
| 21807 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21808 | 
            -
                    # Corresponds to the JSON property `counter`
         | 
| 21809 | 
            -
                    # @return [Google::Apis::ComputeV1::LogConfigCounterOptions]
         | 
| 21810 | 
            -
                    attr_accessor :counter
         | 
| 21811 | 
            -
                  
         | 
| 21812 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21813 | 
            -
                    # Corresponds to the JSON property `dataAccess`
         | 
| 21814 | 
            -
                    # @return [Google::Apis::ComputeV1::LogConfigDataAccessOptions]
         | 
| 21815 | 
            -
                    attr_accessor :data_access
         | 
| 21816 | 
            -
                  
         | 
| 21817 | 
            -
                    def initialize(**args)
         | 
| 21818 | 
            -
                       update!(**args)
         | 
| 21819 | 
            -
                    end
         | 
| 21820 | 
            -
                  
         | 
| 21821 | 
            -
                    # Update properties of this object
         | 
| 21822 | 
            -
                    def update!(**args)
         | 
| 21823 | 
            -
                      @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
         | 
| 21824 | 
            -
                      @counter = args[:counter] if args.key?(:counter)
         | 
| 21825 | 
            -
                      @data_access = args[:data_access] if args.key?(:data_access)
         | 
| 21826 | 
            -
                    end
         | 
| 21827 | 
            -
                  end
         | 
| 21828 | 
            -
                  
         | 
| 21829 | 
            -
                  # This is deprecated and has no effect. Do not use.
         | 
| 21830 | 
            -
                  class LogConfigCloudAuditOptions
         | 
| 21831 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 21832 | 
            -
                  
         | 
| 21833 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21834 | 
            -
                    # Corresponds to the JSON property `logName`
         | 
| 21835 | 
            -
                    # @return [String]
         | 
| 21836 | 
            -
                    attr_accessor :log_name
         | 
| 21837 | 
            -
                  
         | 
| 21838 | 
            -
                    def initialize(**args)
         | 
| 21839 | 
            -
                       update!(**args)
         | 
| 21840 | 
            -
                    end
         | 
| 21841 | 
            -
                  
         | 
| 21842 | 
            -
                    # Update properties of this object
         | 
| 21843 | 
            -
                    def update!(**args)
         | 
| 21844 | 
            -
                      @log_name = args[:log_name] if args.key?(:log_name)
         | 
| 21845 | 
            -
                    end
         | 
| 21846 | 
            -
                  end
         | 
| 21847 | 
            -
                  
         | 
| 21848 | 
            -
                  # This is deprecated and has no effect. Do not use.
         | 
| 21849 | 
            -
                  class LogConfigCounterOptions
         | 
| 21850 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 21851 | 
            -
                  
         | 
| 21852 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21853 | 
            -
                    # Corresponds to the JSON property `customFields`
         | 
| 21854 | 
            -
                    # @return [Array<Google::Apis::ComputeV1::LogConfigCounterOptionsCustomField>]
         | 
| 21855 | 
            -
                    attr_accessor :custom_fields
         | 
| 21856 | 
            -
                  
         | 
| 21857 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21858 | 
            -
                    # Corresponds to the JSON property `field`
         | 
| 21859 | 
            -
                    # @return [String]
         | 
| 21860 | 
            -
                    attr_accessor :field
         | 
| 21861 | 
            -
                  
         | 
| 21862 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21863 | 
            -
                    # Corresponds to the JSON property `metric`
         | 
| 21864 | 
            -
                    # @return [String]
         | 
| 21865 | 
            -
                    attr_accessor :metric
         | 
| 21866 | 
            -
                  
         | 
| 21867 | 
            -
                    def initialize(**args)
         | 
| 21868 | 
            -
                       update!(**args)
         | 
| 21869 | 
            -
                    end
         | 
| 21870 | 
            -
                  
         | 
| 21871 | 
            -
                    # Update properties of this object
         | 
| 21872 | 
            -
                    def update!(**args)
         | 
| 21873 | 
            -
                      @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
         | 
| 21874 | 
            -
                      @field = args[:field] if args.key?(:field)
         | 
| 21875 | 
            -
                      @metric = args[:metric] if args.key?(:metric)
         | 
| 21876 | 
            -
                    end
         | 
| 21877 | 
            -
                  end
         | 
| 21878 | 
            -
                  
         | 
| 21879 | 
            -
                  # This is deprecated and has no effect. Do not use.
         | 
| 21880 | 
            -
                  class LogConfigCounterOptionsCustomField
         | 
| 21881 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 21882 | 
            -
                  
         | 
| 21883 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21884 | 
            -
                    # Corresponds to the JSON property `name`
         | 
| 21885 | 
            -
                    # @return [String]
         | 
| 21886 | 
            -
                    attr_accessor :name
         | 
| 21887 | 
            -
                  
         | 
| 21888 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21889 | 
            -
                    # Corresponds to the JSON property `value`
         | 
| 21890 | 
            -
                    # @return [String]
         | 
| 21891 | 
            -
                    attr_accessor :value
         | 
| 21892 | 
            -
                  
         | 
| 21893 | 
            -
                    def initialize(**args)
         | 
| 21894 | 
            -
                       update!(**args)
         | 
| 21895 | 
            -
                    end
         | 
| 21896 | 
            -
                  
         | 
| 21897 | 
            -
                    # Update properties of this object
         | 
| 21898 | 
            -
                    def update!(**args)
         | 
| 21899 | 
            -
                      @name = args[:name] if args.key?(:name)
         | 
| 21900 | 
            -
                      @value = args[:value] if args.key?(:value)
         | 
| 21901 | 
            -
                    end
         | 
| 21902 | 
            -
                  end
         | 
| 21903 | 
            -
                  
         | 
| 21904 | 
            -
                  # This is deprecated and has no effect. Do not use.
         | 
| 21905 | 
            -
                  class LogConfigDataAccessOptions
         | 
| 21906 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 21907 | 
            -
                  
         | 
| 21908 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 21909 | 
            -
                    # Corresponds to the JSON property `logMode`
         | 
| 21910 | 
            -
                    # @return [String]
         | 
| 21911 | 
            -
                    attr_accessor :log_mode
         | 
| 21912 | 
            -
                  
         | 
| 21913 | 
            -
                    def initialize(**args)
         | 
| 21914 | 
            -
                       update!(**args)
         | 
| 21915 | 
            -
                    end
         | 
| 21916 | 
            -
                  
         | 
| 21917 | 
            -
                    # Update properties of this object
         | 
| 21918 | 
            -
                    def update!(**args)
         | 
| 21919 | 
            -
                      @log_mode = args[:log_mode] if args.key?(:log_mode)
         | 
| 21920 | 
            -
                    end
         | 
| 21921 | 
            -
                  end
         | 
| 21922 | 
            -
                  
         | 
| 21923 21981 | 
             
                  # Represents a machine image resource. A machine image is a Compute Engine
         | 
| 21924 21982 | 
             
                  # resource that stores all the configuration, metadata, permissions, and data
         | 
| 21925 21983 | 
             
                  # from one or more disks required to create a Virtual machine (VM) instance. For
         | 
| @@ -22204,6 +22262,11 @@ module Google | |
| 22204 22262 | 
             
                    # @return [Array<Google::Apis::ComputeV1::MachineType::Accelerator>]
         | 
| 22205 22263 | 
             
                    attr_accessor :accelerators
         | 
| 22206 22264 |  | 
| 22265 | 
            +
                    # [Output Only] The architecture of the machine type.
         | 
| 22266 | 
            +
                    # Corresponds to the JSON property `architecture`
         | 
| 22267 | 
            +
                    # @return [String]
         | 
| 22268 | 
            +
                    attr_accessor :architecture
         | 
| 22269 | 
            +
                  
         | 
| 22207 22270 | 
             
                    # [Output Only] Creation timestamp in RFC3339 text format.
         | 
| 22208 22271 | 
             
                    # Corresponds to the JSON property `creationTimestamp`
         | 
| 22209 22272 | 
             
                    # @return [String]
         | 
| @@ -22293,6 +22356,7 @@ module Google | |
| 22293 22356 | 
             
                    # Update properties of this object
         | 
| 22294 22357 | 
             
                    def update!(**args)
         | 
| 22295 22358 | 
             
                      @accelerators = args[:accelerators] if args.key?(:accelerators)
         | 
| 22359 | 
            +
                      @architecture = args[:architecture] if args.key?(:architecture)
         | 
| 22296 22360 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 22297 22361 | 
             
                      @deprecated = args[:deprecated] if args.key?(:deprecated)
         | 
| 22298 22362 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| @@ -22759,6 +22823,12 @@ module Google | |
| 22759 22823 | 
             
                    # @return [Google::Apis::ComputeV1::PreservedState]
         | 
| 22760 22824 | 
             
                    attr_accessor :preserved_state_from_policy
         | 
| 22761 22825 |  | 
| 22826 | 
            +
                    # [Output Only] Instance properties selected for this instance resulting from
         | 
| 22827 | 
            +
                    # InstanceFlexibilityPolicy.
         | 
| 22828 | 
            +
                    # Corresponds to the JSON property `propertiesFromFlexibilityPolicy`
         | 
| 22829 | 
            +
                    # @return [Google::Apis::ComputeV1::ManagedInstancePropertiesFromFlexibilityPolicy]
         | 
| 22830 | 
            +
                    attr_accessor :properties_from_flexibility_policy
         | 
| 22831 | 
            +
                  
         | 
| 22762 22832 | 
             
                    # [Output Only] Intended version of this instance.
         | 
| 22763 22833 | 
             
                    # Corresponds to the JSON property `version`
         | 
| 22764 22834 | 
             
                    # @return [Google::Apis::ComputeV1::ManagedInstanceVersion]
         | 
| @@ -22779,6 +22849,7 @@ module Google | |
| 22779 22849 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 22780 22850 | 
             
                      @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
         | 
| 22781 22851 | 
             
                      @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
         | 
| 22852 | 
            +
                      @properties_from_flexibility_policy = args[:properties_from_flexibility_policy] if args.key?(:properties_from_flexibility_policy)
         | 
| 22782 22853 | 
             
                      @version = args[:version] if args.key?(:version)
         | 
| 22783 22854 | 
             
                    end
         | 
| 22784 22855 | 
             
                  end
         | 
| @@ -22938,6 +23009,25 @@ module Google | |
| 22938 23009 | 
             
                    end
         | 
| 22939 23010 | 
             
                  end
         | 
| 22940 23011 |  | 
| 23012 | 
            +
                  # 
         | 
| 23013 | 
            +
                  class ManagedInstancePropertiesFromFlexibilityPolicy
         | 
| 23014 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 23015 | 
            +
                  
         | 
| 23016 | 
            +
                    # The machine type to be used for this instance.
         | 
| 23017 | 
            +
                    # Corresponds to the JSON property `machineType`
         | 
| 23018 | 
            +
                    # @return [String]
         | 
| 23019 | 
            +
                    attr_accessor :machine_type
         | 
| 23020 | 
            +
                  
         | 
| 23021 | 
            +
                    def initialize(**args)
         | 
| 23022 | 
            +
                       update!(**args)
         | 
| 23023 | 
            +
                    end
         | 
| 23024 | 
            +
                  
         | 
| 23025 | 
            +
                    # Update properties of this object
         | 
| 23026 | 
            +
                    def update!(**args)
         | 
| 23027 | 
            +
                      @machine_type = args[:machine_type] if args.key?(:machine_type)
         | 
| 23028 | 
            +
                    end
         | 
| 23029 | 
            +
                  end
         | 
| 23030 | 
            +
                  
         | 
| 22941 23031 | 
             
                  # 
         | 
| 22942 23032 | 
             
                  class ManagedInstanceVersion
         | 
| 22943 23033 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -24189,6 +24279,12 @@ module Google | |
| 24189 24279 | 
             
                    # @return [Hash<String,String>]
         | 
| 24190 24280 | 
             
                    attr_accessor :annotations
         | 
| 24191 24281 |  | 
| 24282 | 
            +
                    # Represents the port number to which PSC consumer sends packets. Only valid for
         | 
| 24283 | 
            +
                    # network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.
         | 
| 24284 | 
            +
                    # Corresponds to the JSON property `clientDestinationPort`
         | 
| 24285 | 
            +
                    # @return [Fixnum]
         | 
| 24286 | 
            +
                    attr_accessor :client_destination_port
         | 
| 24287 | 
            +
                  
         | 
| 24192 24288 | 
             
                    # Optional fully qualified domain name of network endpoint. This can only be
         | 
| 24193 24289 | 
             
                    # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
         | 
| 24194 24290 | 
             
                    # Corresponds to the JSON property `fqdn`
         | 
| @@ -24219,6 +24315,11 @@ module Google | |
| 24219 24315 | 
             
                    # @return [String]
         | 
| 24220 24316 | 
             
                    attr_accessor :ip_address
         | 
| 24221 24317 |  | 
| 24318 | 
            +
                    # Optional IPv6 address of network endpoint.
         | 
| 24319 | 
            +
                    # Corresponds to the JSON property `ipv6Address`
         | 
| 24320 | 
            +
                    # @return [String]
         | 
| 24321 | 
            +
                    attr_accessor :ipv6_address
         | 
| 24322 | 
            +
                  
         | 
| 24222 24323 | 
             
                    # Optional port number of network endpoint. If not specified, the defaultPort
         | 
| 24223 24324 | 
             
                    # for the network endpoint group will be used. This field can not be set for
         | 
| 24224 24325 | 
             
                    # network endpoints of type GCE_VM_IP.
         | 
| @@ -24233,9 +24334,11 @@ module Google | |
| 24233 24334 | 
             
                    # Update properties of this object
         | 
| 24234 24335 | 
             
                    def update!(**args)
         | 
| 24235 24336 | 
             
                      @annotations = args[:annotations] if args.key?(:annotations)
         | 
| 24337 | 
            +
                      @client_destination_port = args[:client_destination_port] if args.key?(:client_destination_port)
         | 
| 24236 24338 | 
             
                      @fqdn = args[:fqdn] if args.key?(:fqdn)
         | 
| 24237 24339 | 
             
                      @instance = args[:instance] if args.key?(:instance)
         | 
| 24238 24340 | 
             
                      @ip_address = args[:ip_address] if args.key?(:ip_address)
         | 
| 24341 | 
            +
                      @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
         | 
| 24239 24342 | 
             
                      @port = args[:port] if args.key?(:port)
         | 
| 24240 24343 | 
             
                    end
         | 
| 24241 24344 | 
             
                  end
         | 
| @@ -24773,6 +24876,12 @@ module Google | |
| 24773 24876 | 
             
                    # @return [String]
         | 
| 24774 24877 | 
             
                    attr_accessor :consumer_psc_address
         | 
| 24775 24878 |  | 
| 24879 | 
            +
                    # The psc producer port is used to connect PSC NEG with specific port on the PSC
         | 
| 24880 | 
            +
                    # Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
         | 
| 24881 | 
            +
                    # Corresponds to the JSON property `producerPort`
         | 
| 24882 | 
            +
                    # @return [Fixnum]
         | 
| 24883 | 
            +
                    attr_accessor :producer_port
         | 
| 24884 | 
            +
                  
         | 
| 24776 24885 | 
             
                    # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
         | 
| 24777 24886 | 
             
                    # Corresponds to the JSON property `pscConnectionId`
         | 
| 24778 24887 | 
             
                    # @return [Fixnum]
         | 
| @@ -24790,6 +24899,7 @@ module Google | |
| 24790 24899 | 
             
                    # Update properties of this object
         | 
| 24791 24900 | 
             
                    def update!(**args)
         | 
| 24792 24901 | 
             
                      @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address)
         | 
| 24902 | 
            +
                      @producer_port = args[:producer_port] if args.key?(:producer_port)
         | 
| 24793 24903 | 
             
                      @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
         | 
| 24794 24904 | 
             
                      @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
         | 
| 24795 24905 | 
             
                    end
         | 
| @@ -25494,6 +25604,27 @@ module Google | |
| 25494 25604 | 
             
                  class NetworkRoutingConfig
         | 
| 25495 25605 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 25496 25606 |  | 
| 25607 | 
            +
                    # Enable comparison of Multi-Exit Discriminators (MED) across routes with
         | 
| 25608 | 
            +
                    # different neighbor ASNs when using the STANDARD BGP best path selection
         | 
| 25609 | 
            +
                    # algorithm.
         | 
| 25610 | 
            +
                    # Corresponds to the JSON property `bgpAlwaysCompareMed`
         | 
| 25611 | 
            +
                    # @return [Boolean]
         | 
| 25612 | 
            +
                    attr_accessor :bgp_always_compare_med
         | 
| 25613 | 
            +
                    alias_method :bgp_always_compare_med?, :bgp_always_compare_med
         | 
| 25614 | 
            +
                  
         | 
| 25615 | 
            +
                    # The BGP best path selection algorithm to be employed within this network for
         | 
| 25616 | 
            +
                    # dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.
         | 
| 25617 | 
            +
                    # Corresponds to the JSON property `bgpBestPathSelectionMode`
         | 
| 25618 | 
            +
                    # @return [String]
         | 
| 25619 | 
            +
                    attr_accessor :bgp_best_path_selection_mode
         | 
| 25620 | 
            +
                  
         | 
| 25621 | 
            +
                    # Allows to define a preferred approach for handling inter-region cost in the
         | 
| 25622 | 
            +
                    # selection process when using the STANDARD BGP best path selection algorithm.
         | 
| 25623 | 
            +
                    # Can be DEFAULT or ADD_COST_TO_MED.
         | 
| 25624 | 
            +
                    # Corresponds to the JSON property `bgpInterRegionCost`
         | 
| 25625 | 
            +
                    # @return [String]
         | 
| 25626 | 
            +
                    attr_accessor :bgp_inter_region_cost
         | 
| 25627 | 
            +
                  
         | 
| 25497 25628 | 
             
                    # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
         | 
| 25498 25629 | 
             
                    # Routers will only advertise routes with subnets of this network in the same
         | 
| 25499 25630 | 
             
                    # region as the router. If set to GLOBAL, this network's Cloud Routers will
         | 
| @@ -25508,6 +25639,9 @@ module Google | |
| 25508 25639 |  | 
| 25509 25640 | 
             
                    # Update properties of this object
         | 
| 25510 25641 | 
             
                    def update!(**args)
         | 
| 25642 | 
            +
                      @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
         | 
| 25643 | 
            +
                      @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
         | 
| 25644 | 
            +
                      @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
         | 
| 25511 25645 | 
             
                      @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
         | 
| 25512 25646 | 
             
                    end
         | 
| 25513 25647 | 
             
                  end
         | 
| @@ -25563,7 +25697,10 @@ module Google | |
| 25563 25697 | 
             
                  class NetworksGetEffectiveFirewallsResponse
         | 
| 25564 25698 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 25565 25699 |  | 
| 25566 | 
            -
                    # Effective firewalls from firewall policy.
         | 
| 25700 | 
            +
                    # [Output Only] Effective firewalls from firewall policy. It returns Global
         | 
| 25701 | 
            +
                    # Network Firewall Policies and Hierarchical Firewall Policies. Use
         | 
| 25702 | 
            +
                    # regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network
         | 
| 25703 | 
            +
                    # Firewall Policies as well.
         | 
| 25567 25704 | 
             
                    # Corresponds to the JSON property `firewallPolicys`
         | 
| 25568 25705 | 
             
                    # @return [Array<Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
         | 
| 25569 25706 | 
             
                    attr_accessor :firewall_policys
         | 
| @@ -25599,7 +25736,13 @@ module Google | |
| 25599 25736 | 
             
                    # @return [String]
         | 
| 25600 25737 | 
             
                    attr_accessor :name
         | 
| 25601 25738 |  | 
| 25602 | 
            -
                    #  | 
| 25739 | 
            +
                    # [Output only] Priority of firewall policy association. Not applicable for type=
         | 
| 25740 | 
            +
                    # HIERARCHY.
         | 
| 25741 | 
            +
                    # Corresponds to the JSON property `priority`
         | 
| 25742 | 
            +
                    # @return [Fixnum]
         | 
| 25743 | 
            +
                    attr_accessor :priority
         | 
| 25744 | 
            +
                  
         | 
| 25745 | 
            +
                    # [Output Only] The rules that apply to the network.
         | 
| 25603 25746 | 
             
                    # Corresponds to the JSON property `rules`
         | 
| 25604 25747 | 
             
                    # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
         | 
| 25605 25748 | 
             
                    attr_accessor :rules
         | 
| @@ -25622,6 +25765,7 @@ module Google | |
| 25622 25765 | 
             
                    def update!(**args)
         | 
| 25623 25766 | 
             
                      @display_name = args[:display_name] if args.key?(:display_name)
         | 
| 25624 25767 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 25768 | 
            +
                      @priority = args[:priority] if args.key?(:priority)
         | 
| 25625 25769 | 
             
                      @rules = args[:rules] if args.key?(:rules)
         | 
| 25626 25770 | 
             
                      @short_name = args[:short_name] if args.key?(:short_name)
         | 
| 25627 25771 | 
             
                      @type = args[:type] if args.key?(:type)
         | 
| @@ -27827,8 +27971,8 @@ module Google | |
| 27827 27971 | 
             
                    attr_accessor :target_id
         | 
| 27828 27972 |  | 
| 27829 27973 | 
             
                    # [Output Only] The URL of the resource that the operation modifies. For
         | 
| 27830 | 
            -
                    # operations related to creating a snapshot, this points to the  | 
| 27831 | 
            -
                    #  | 
| 27974 | 
            +
                    # operations related to creating a snapshot, this points to the disk that the
         | 
| 27975 | 
            +
                    # snapshot was created from.
         | 
| 27832 27976 | 
             
                    # Corresponds to the JSON property `targetLink`
         | 
| 27833 27977 | 
             
                    # @return [String]
         | 
| 27834 27978 | 
             
                    attr_accessor :target_link
         | 
| @@ -29455,11 +29599,6 @@ module Google | |
| 29455 29599 | 
             
                    # @return [String]
         | 
| 29456 29600 | 
             
                    attr_accessor :etag
         | 
| 29457 29601 |  | 
| 29458 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 29459 | 
            -
                    # Corresponds to the JSON property `rules`
         | 
| 29460 | 
            -
                    # @return [Array<Google::Apis::ComputeV1::Rule>]
         | 
| 29461 | 
            -
                    attr_accessor :rules
         | 
| 29462 | 
            -
                  
         | 
| 29463 29602 | 
             
                    # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
         | 
| 29464 29603 | 
             
                    # Requests that specify an invalid value are rejected. Any operation that
         | 
| 29465 29604 | 
             
                    # affects conditional role bindings must specify version `3`. This requirement
         | 
| @@ -29488,7 +29627,6 @@ module Google | |
| 29488 29627 | 
             
                      @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
         | 
| 29489 29628 | 
             
                      @bindings = args[:bindings] if args.key?(:bindings)
         | 
| 29490 29629 | 
             
                      @etag = args[:etag] if args.key?(:etag)
         | 
| 29491 | 
            -
                      @rules = args[:rules] if args.key?(:rules)
         | 
| 29492 29630 | 
             
                      @version = args[:version] if args.key?(:version)
         | 
| 29493 29631 | 
             
                    end
         | 
| 29494 29632 | 
             
                  end
         | 
| @@ -32341,7 +32479,10 @@ module Google | |
| 32341 32479 | 
             
                  class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
         | 
| 32342 32480 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 32343 32481 |  | 
| 32344 | 
            -
                    # Effective firewalls from firewall policy.
         | 
| 32482 | 
            +
                    # [Output only] Effective firewalls from firewall policy. It applies to Regional
         | 
| 32483 | 
            +
                    # Network Firewall Policies in the specified region, Global Network Firewall
         | 
| 32484 | 
            +
                    # Policies and Hierachial Firewall Policies which are associated with the
         | 
| 32485 | 
            +
                    # network.
         | 
| 32345 32486 | 
             
                    # Corresponds to the JSON property `firewallPolicys`
         | 
| 32346 32487 | 
             
                    # @return [Array<Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
         | 
| 32347 32488 | 
             
                    attr_accessor :firewall_policys
         | 
| @@ -32376,7 +32517,7 @@ module Google | |
| 32376 32517 | 
             
                    # @return [String]
         | 
| 32377 32518 | 
             
                    attr_accessor :name
         | 
| 32378 32519 |  | 
| 32379 | 
            -
                    # The rules that apply to the network.
         | 
| 32520 | 
            +
                    # [Output only] The rules that apply to the network.
         | 
| 32380 32521 | 
             
                    # Corresponds to the JSON property `rules`
         | 
| 32381 32522 | 
             
                    # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
         | 
| 32382 32523 | 
             
                    attr_accessor :rules
         | 
| @@ -32528,9 +32669,9 @@ module Google | |
| 32528 32669 | 
             
                    # and traffic management table. This resource defines mappings from hostnames
         | 
| 32529 32670 | 
             
                    # and URL paths to either a backend service or a backend bucket. To use the
         | 
| 32530 32671 | 
             
                    # global urlMaps resource, the backend service must have a loadBalancingScheme
         | 
| 32531 | 
            -
                    # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the | 
| 32532 | 
            -
                    # the backend service must have a loadBalancingScheme of | 
| 32533 | 
            -
                    # more information, read URL Map Concepts.
         | 
| 32672 | 
            +
                    # of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the
         | 
| 32673 | 
            +
                    # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
         | 
| 32674 | 
            +
                    # INTERNAL_MANAGED. For more information, read URL Map Concepts.
         | 
| 32534 32675 | 
             
                    # Corresponds to the JSON property `resource`
         | 
| 32535 32676 | 
             
                    # @return [Google::Apis::ComputeV1::UrlMap]
         | 
| 32536 32677 | 
             
                    attr_accessor :resource
         | 
| @@ -32665,7 +32806,10 @@ module Google | |
| 32665 32806 | 
             
                    attr_accessor :specific_reservation_required
         | 
| 32666 32807 | 
             
                    alias_method :specific_reservation_required?, :specific_reservation_required
         | 
| 32667 32808 |  | 
| 32668 | 
            -
                    # [Output Only] The status of the reservation.
         | 
| 32809 | 
            +
                    # [Output Only] The status of the reservation. - CREATING: Reservation resources
         | 
| 32810 | 
            +
                    # are being allocated. - READY: Reservation resources have been allocated, and
         | 
| 32811 | 
            +
                    # the reservation is ready for use. - DELETING: Reservation deletion is in
         | 
| 32812 | 
            +
                    # progress. - UPDATING: Reservation update is in progress.
         | 
| 32669 32813 | 
             
                    # Corresponds to the JSON property `status`
         | 
| 32670 32814 | 
             
                    # @return [String]
         | 
| 32671 32815 | 
             
                    attr_accessor :status
         | 
| @@ -34029,6 +34173,11 @@ module Google | |
| 34029 34173 | 
             
                    # @return [String]
         | 
| 34030 34174 | 
             
                    attr_accessor :physical_host
         | 
| 34031 34175 |  | 
| 34176 | 
            +
                    # 
         | 
| 34177 | 
            +
                    # Corresponds to the JSON property `scheduling`
         | 
| 34178 | 
            +
                    # @return [Google::Apis::ComputeV1::ResourceStatusScheduling]
         | 
| 34179 | 
            +
                    attr_accessor :scheduling
         | 
| 34180 | 
            +
                  
         | 
| 34032 34181 | 
             
                    # Upcoming Maintenance notification information.
         | 
| 34033 34182 | 
             
                    # Corresponds to the JSON property `upcomingMaintenance`
         | 
| 34034 34183 | 
             
                    # @return [Google::Apis::ComputeV1::UpcomingMaintenance]
         | 
| @@ -34041,10 +34190,32 @@ module Google | |
| 34041 34190 | 
             
                    # Update properties of this object
         | 
| 34042 34191 | 
             
                    def update!(**args)
         | 
| 34043 34192 | 
             
                      @physical_host = args[:physical_host] if args.key?(:physical_host)
         | 
| 34193 | 
            +
                      @scheduling = args[:scheduling] if args.key?(:scheduling)
         | 
| 34044 34194 | 
             
                      @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
         | 
| 34045 34195 | 
             
                    end
         | 
| 34046 34196 | 
             
                  end
         | 
| 34047 34197 |  | 
| 34198 | 
            +
                  # 
         | 
| 34199 | 
            +
                  class ResourceStatusScheduling
         | 
| 34200 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 34201 | 
            +
                  
         | 
| 34202 | 
            +
                    # Specifies the availability domain to place the instance in. The value must be
         | 
| 34203 | 
            +
                    # a number between 1 and the number of availability domains specified in the
         | 
| 34204 | 
            +
                    # spread placement policy attached to the instance.
         | 
| 34205 | 
            +
                    # Corresponds to the JSON property `availabilityDomain`
         | 
| 34206 | 
            +
                    # @return [Fixnum]
         | 
| 34207 | 
            +
                    attr_accessor :availability_domain
         | 
| 34208 | 
            +
                  
         | 
| 34209 | 
            +
                    def initialize(**args)
         | 
| 34210 | 
            +
                       update!(**args)
         | 
| 34211 | 
            +
                    end
         | 
| 34212 | 
            +
                  
         | 
| 34213 | 
            +
                    # Update properties of this object
         | 
| 34214 | 
            +
                    def update!(**args)
         | 
| 34215 | 
            +
                      @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
         | 
| 34216 | 
            +
                    end
         | 
| 34217 | 
            +
                  end
         | 
| 34218 | 
            +
                  
         | 
| 34048 34219 | 
             
                  # Represents a Route resource. A route defines a path from VM instances in the
         | 
| 34049 34220 | 
             
                  # VPC network to a specific destination. This destination can be inside or
         | 
| 34050 34221 | 
             
                  # outside the VPC network. For more information, read the Routes overview.
         | 
| @@ -34135,6 +34306,13 @@ module Google | |
| 34135 34306 | 
             
                    # @return [String]
         | 
| 34136 34307 | 
             
                    attr_accessor :next_hop_instance
         | 
| 34137 34308 |  | 
| 34309 | 
            +
                    # [Output only] Internal fixed region-to-region cost that Google Cloud
         | 
| 34310 | 
            +
                    # calculates based on factors such as network performance, distance, and
         | 
| 34311 | 
            +
                    # available bandwidth between regions.
         | 
| 34312 | 
            +
                    # Corresponds to the JSON property `nextHopInterRegionCost`
         | 
| 34313 | 
            +
                    # @return [Fixnum]
         | 
| 34314 | 
            +
                    attr_accessor :next_hop_inter_region_cost
         | 
| 34315 | 
            +
                  
         | 
| 34138 34316 | 
             
                    # The network IP address of an instance that should handle matching packets.
         | 
| 34139 34317 | 
             
                    # Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4
         | 
| 34140 34318 | 
             
                    # address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC
         | 
| @@ -34145,11 +34323,23 @@ module Google | |
| 34145 34323 | 
             
                    # @return [String]
         | 
| 34146 34324 | 
             
                    attr_accessor :next_hop_ip
         | 
| 34147 34325 |  | 
| 34326 | 
            +
                    # [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the
         | 
| 34327 | 
            +
                    # desirability of a particular route in a network.
         | 
| 34328 | 
            +
                    # Corresponds to the JSON property `nextHopMed`
         | 
| 34329 | 
            +
                    # @return [Fixnum]
         | 
| 34330 | 
            +
                    attr_accessor :next_hop_med
         | 
| 34331 | 
            +
                  
         | 
| 34148 34332 | 
             
                    # The URL of the local network if it should handle matching packets.
         | 
| 34149 34333 | 
             
                    # Corresponds to the JSON property `nextHopNetwork`
         | 
| 34150 34334 | 
             
                    # @return [String]
         | 
| 34151 34335 | 
             
                    attr_accessor :next_hop_network
         | 
| 34152 34336 |  | 
| 34337 | 
            +
                    # [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway
         | 
| 34338 | 
            +
                    # Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
         | 
| 34339 | 
            +
                    # Corresponds to the JSON property `nextHopOrigin`
         | 
| 34340 | 
            +
                    # @return [String]
         | 
| 34341 | 
            +
                    attr_accessor :next_hop_origin
         | 
| 34342 | 
            +
                  
         | 
| 34153 34343 | 
             
                    # [Output Only] The network peering name that should handle matching packets,
         | 
| 34154 34344 | 
             
                    # which should conform to RFC1035.
         | 
| 34155 34345 | 
             
                    # Corresponds to the JSON property `nextHopPeering`
         | 
| @@ -34218,8 +34408,11 @@ module Google | |
| 34218 34408 | 
             
                      @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub)
         | 
| 34219 34409 | 
             
                      @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
         | 
| 34220 34410 | 
             
                      @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
         | 
| 34411 | 
            +
                      @next_hop_inter_region_cost = args[:next_hop_inter_region_cost] if args.key?(:next_hop_inter_region_cost)
         | 
| 34221 34412 | 
             
                      @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
         | 
| 34413 | 
            +
                      @next_hop_med = args[:next_hop_med] if args.key?(:next_hop_med)
         | 
| 34222 34414 | 
             
                      @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
         | 
| 34415 | 
            +
                      @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
         | 
| 34223 34416 | 
             
                      @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
         | 
| 34224 34417 | 
             
                      @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
         | 
| 34225 34418 | 
             
                      @priority = args[:priority] if args.key?(:priority)
         | 
| @@ -36077,61 +36270,6 @@ module Google | |
| 36077 36270 | 
             
                    end
         | 
| 36078 36271 | 
             
                  end
         | 
| 36079 36272 |  | 
| 36080 | 
            -
                  # This is deprecated and has no effect. Do not use.
         | 
| 36081 | 
            -
                  class Rule
         | 
| 36082 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 36083 | 
            -
                  
         | 
| 36084 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 36085 | 
            -
                    # Corresponds to the JSON property `action`
         | 
| 36086 | 
            -
                    # @return [String]
         | 
| 36087 | 
            -
                    attr_accessor :action
         | 
| 36088 | 
            -
                  
         | 
| 36089 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 36090 | 
            -
                    # Corresponds to the JSON property `conditions`
         | 
| 36091 | 
            -
                    # @return [Array<Google::Apis::ComputeV1::Condition>]
         | 
| 36092 | 
            -
                    attr_accessor :conditions
         | 
| 36093 | 
            -
                  
         | 
| 36094 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 36095 | 
            -
                    # Corresponds to the JSON property `description`
         | 
| 36096 | 
            -
                    # @return [String]
         | 
| 36097 | 
            -
                    attr_accessor :description
         | 
| 36098 | 
            -
                  
         | 
| 36099 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 36100 | 
            -
                    # Corresponds to the JSON property `ins`
         | 
| 36101 | 
            -
                    # @return [Array<String>]
         | 
| 36102 | 
            -
                    attr_accessor :ins
         | 
| 36103 | 
            -
                  
         | 
| 36104 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 36105 | 
            -
                    # Corresponds to the JSON property `logConfigs`
         | 
| 36106 | 
            -
                    # @return [Array<Google::Apis::ComputeV1::LogConfig>]
         | 
| 36107 | 
            -
                    attr_accessor :log_configs
         | 
| 36108 | 
            -
                  
         | 
| 36109 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 36110 | 
            -
                    # Corresponds to the JSON property `notIns`
         | 
| 36111 | 
            -
                    # @return [Array<String>]
         | 
| 36112 | 
            -
                    attr_accessor :not_ins
         | 
| 36113 | 
            -
                  
         | 
| 36114 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 36115 | 
            -
                    # Corresponds to the JSON property `permissions`
         | 
| 36116 | 
            -
                    # @return [Array<String>]
         | 
| 36117 | 
            -
                    attr_accessor :permissions
         | 
| 36118 | 
            -
                  
         | 
| 36119 | 
            -
                    def initialize(**args)
         | 
| 36120 | 
            -
                       update!(**args)
         | 
| 36121 | 
            -
                    end
         | 
| 36122 | 
            -
                  
         | 
| 36123 | 
            -
                    # Update properties of this object
         | 
| 36124 | 
            -
                    def update!(**args)
         | 
| 36125 | 
            -
                      @action = args[:action] if args.key?(:action)
         | 
| 36126 | 
            -
                      @conditions = args[:conditions] if args.key?(:conditions)
         | 
| 36127 | 
            -
                      @description = args[:description] if args.key?(:description)
         | 
| 36128 | 
            -
                      @ins = args[:ins] if args.key?(:ins)
         | 
| 36129 | 
            -
                      @log_configs = args[:log_configs] if args.key?(:log_configs)
         | 
| 36130 | 
            -
                      @not_ins = args[:not_ins] if args.key?(:not_ins)
         | 
| 36131 | 
            -
                      @permissions = args[:permissions] if args.key?(:permissions)
         | 
| 36132 | 
            -
                    end
         | 
| 36133 | 
            -
                  end
         | 
| 36134 | 
            -
                  
         | 
| 36135 36273 | 
             
                  # 
         | 
| 36136 36274 | 
             
                  class SslHealthCheck
         | 
| 36137 36275 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -36425,6 +36563,13 @@ module Google | |
| 36425 36563 | 
             
                    attr_accessor :automatic_restart
         | 
| 36426 36564 | 
             
                    alias_method :automatic_restart?, :automatic_restart
         | 
| 36427 36565 |  | 
| 36566 | 
            +
                    # Specifies the availability domain to place the instance in. The value must be
         | 
| 36567 | 
            +
                    # a number between 1 and the number of availability domains specified in the
         | 
| 36568 | 
            +
                    # spread placement policy attached to the instance.
         | 
| 36569 | 
            +
                    # Corresponds to the JSON property `availabilityDomain`
         | 
| 36570 | 
            +
                    # @return [Fixnum]
         | 
| 36571 | 
            +
                    attr_accessor :availability_domain
         | 
| 36572 | 
            +
                  
         | 
| 36428 36573 | 
             
                    # Specifies the termination action for the instance.
         | 
| 36429 36574 | 
             
                    # Corresponds to the JSON property `instanceTerminationAction`
         | 
| 36430 36575 | 
             
                    # @return [String]
         | 
| @@ -36505,6 +36650,7 @@ module Google | |
| 36505 36650 | 
             
                    # Update properties of this object
         | 
| 36506 36651 | 
             
                    def update!(**args)
         | 
| 36507 36652 | 
             
                      @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
         | 
| 36653 | 
            +
                      @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
         | 
| 36508 36654 | 
             
                      @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
         | 
| 36509 36655 | 
             
                      @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
         | 
| 36510 36656 | 
             
                      @location_hint = args[:location_hint] if args.key?(:location_hint)
         | 
| @@ -38412,6 +38558,19 @@ module Google | |
| 38412 38558 | 
             
                    # @return [String]
         | 
| 38413 38559 | 
             
                    attr_accessor :producer_forwarding_rule
         | 
| 38414 38560 |  | 
| 38561 | 
            +
                    # The number of consumer spokes that connected Private Service Connect endpoints
         | 
| 38562 | 
            +
                    # can be propagated to through Network Connectivity Center. This limit lets the
         | 
| 38563 | 
            +
                    # service producer limit how many propagated Private Service Connect connections
         | 
| 38564 | 
            +
                    # can be established to this service attachment from a single consumer. If the
         | 
| 38565 | 
            +
                    # connection preference of the service attachment is ACCEPT_MANUAL, the limit
         | 
| 38566 | 
            +
                    # applies to each project or network that is listed in the consumer accept list.
         | 
| 38567 | 
            +
                    # If the connection preference of the service attachment is ACCEPT_AUTOMATIC,
         | 
| 38568 | 
            +
                    # the limit applies to each project that contains a connected endpoint. If
         | 
| 38569 | 
            +
                    # unspecified, the default propagated connection limit is 250.
         | 
| 38570 | 
            +
                    # Corresponds to the JSON property `propagatedConnectionLimit`
         | 
| 38571 | 
            +
                    # @return [Fixnum]
         | 
| 38572 | 
            +
                    attr_accessor :propagated_connection_limit
         | 
| 38573 | 
            +
                  
         | 
| 38415 38574 | 
             
                    # [Output Only] An 128-bit global unique ID of the PSC service attachment.
         | 
| 38416 38575 | 
             
                    # Corresponds to the JSON property `pscServiceAttachmentId`
         | 
| 38417 38576 | 
             
                    # @return [Google::Apis::ComputeV1::Uint128]
         | 
| @@ -38469,6 +38628,7 @@ module Google | |
| 38469 38628 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 38470 38629 | 
             
                      @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
         | 
| 38471 38630 | 
             
                      @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
         | 
| 38631 | 
            +
                      @propagated_connection_limit = args[:propagated_connection_limit] if args.key?(:propagated_connection_limit)
         | 
| 38472 38632 | 
             
                      @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
         | 
| 38473 38633 | 
             
                      @reconcile_connections = args[:reconcile_connections] if args.key?(:reconcile_connections)
         | 
| 38474 38634 | 
             
                      @region = args[:region] if args.key?(:region)
         | 
| @@ -38614,6 +38774,12 @@ module Google | |
| 38614 38774 | 
             
                    # @return [String]
         | 
| 38615 38775 | 
             
                    attr_accessor :endpoint
         | 
| 38616 38776 |  | 
| 38777 | 
            +
                    # The number of consumer Network Connectivity Center spokes that the connected
         | 
| 38778 | 
            +
                    # Private Service Connect endpoint has propagated to.
         | 
| 38779 | 
            +
                    # Corresponds to the JSON property `propagatedConnectionCount`
         | 
| 38780 | 
            +
                    # @return [Fixnum]
         | 
| 38781 | 
            +
                    attr_accessor :propagated_connection_count
         | 
| 38782 | 
            +
                  
         | 
| 38617 38783 | 
             
                    # The PSC connection id of the connected endpoint.
         | 
| 38618 38784 | 
             
                    # Corresponds to the JSON property `pscConnectionId`
         | 
| 38619 38785 | 
             
                    # @return [Fixnum]
         | 
| @@ -38632,6 +38798,7 @@ module Google | |
| 38632 38798 | 
             
                    def update!(**args)
         | 
| 38633 38799 | 
             
                      @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
         | 
| 38634 38800 | 
             
                      @endpoint = args[:endpoint] if args.key?(:endpoint)
         | 
| 38801 | 
            +
                      @propagated_connection_count = args[:propagated_connection_count] if args.key?(:propagated_connection_count)
         | 
| 38635 38802 | 
             
                      @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
         | 
| 38636 38803 | 
             
                      @status = args[:status] if args.key?(:status)
         | 
| 38637 38804 | 
             
                    end
         | 
| @@ -42281,8 +42448,7 @@ module Google | |
| 42281 42448 | 
             
                    # @return [Fixnum]
         | 
| 42282 42449 | 
             
                    attr_accessor :id
         | 
| 42283 42450 |  | 
| 42284 | 
            -
                    #  | 
| 42285 | 
            -
                    # subnetwork.
         | 
| 42451 | 
            +
                    # The internal IPv6 address range that is owned by this subnetwork.
         | 
| 42286 42452 | 
             
                    # Corresponds to the JSON property `internalIpv6Prefix`
         | 
| 42287 42453 | 
             
                    # @return [String]
         | 
| 42288 42454 | 
             
                    attr_accessor :internal_ipv6_prefix
         | 
| @@ -42352,7 +42518,7 @@ module Google | |
| 42352 42518 | 
             
                    attr_accessor :private_ipv6_google_access
         | 
| 42353 42519 |  | 
| 42354 42520 | 
             
                    # The purpose of the resource. This field can be either PRIVATE,
         | 
| 42355 | 
            -
                    # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT | 
| 42521 | 
            +
                    # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, or PRIVATE_SERVICE_CONNECT.
         | 
| 42356 42522 | 
             
                    # PRIVATE is the default purpose for user-created subnets or subnets that are
         | 
| 42357 42523 | 
             
                    # automatically created in auto mode networks. Subnets with purpose set to
         | 
| 42358 42524 | 
             
                    # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
         | 
| @@ -43830,10 +43996,11 @@ module Google | |
| 43830 43996 | 
             
                    attr_accessor :authorization_policy
         | 
| 43831 43997 |  | 
| 43832 43998 | 
             
                    # URL of a certificate map that identifies a certificate map associated with the
         | 
| 43833 | 
            -
                    # given target proxy. This field can only be set for  | 
| 43834 | 
            -
                    #  | 
| 43835 | 
            -
                    #  | 
| 43836 | 
            -
                    #  | 
| 43999 | 
            +
                    # given target proxy. This field can only be set for Global external Application
         | 
| 44000 | 
            +
                    # Load Balancer or Classic Application Load Balancer. For other products use
         | 
| 44001 | 
            +
                    # Certificate Manager Certificates instead. If set, sslCertificates will be
         | 
| 44002 | 
            +
                    # ignored. Accepted format is //certificatemanager.googleapis.com/projects/`
         | 
| 44003 | 
            +
                    # project `/locations/`location`/certificateMaps/`resourceName`.
         | 
| 43837 44004 | 
             
                    # Corresponds to the JSON property `certificateMap`
         | 
| 43838 44005 | 
             
                    # @return [String]
         | 
| 43839 44006 | 
             
                    attr_accessor :certificate_map
         | 
| @@ -43941,9 +44108,18 @@ module Google | |
| 43941 44108 |  | 
| 43942 44109 | 
             
                    # URLs to SslCertificate resources that are used to authenticate connections
         | 
| 43943 44110 | 
             
                    # between users and the load balancer. At least one SSL certificate must be
         | 
| 43944 | 
            -
                    # specified.  | 
| 43945 | 
            -
                    #  | 
| 43946 | 
            -
                    #  | 
| 44111 | 
            +
                    # specified. SslCertificates do not apply when the load balancing scheme is set
         | 
| 44112 | 
            +
                    # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
         | 
| 44113 | 
            +
                    # or Certificate Manager Certificate resource. Mixing Classic Certificates and
         | 
| 44114 | 
            +
                    # Certificate Manager Certificates is not allowed. Certificate Manager
         | 
| 44115 | 
            +
                    # Certificates must include the certificatemanager API. Certificate Manager
         | 
| 44116 | 
            +
                    # Certificates are not supported by Global external Application Load Balancer or
         | 
| 44117 | 
            +
                    # Classic Application Load Balancer, use certificate_map instead. Currently, you
         | 
| 44118 | 
            +
                    # may specify up to 15 Classic SSL Certificates. Certificate Manager
         | 
| 44119 | 
            +
                    # Certificates accepted formats are: - //certificatemanager.googleapis.com/
         | 
| 44120 | 
            +
                    # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
         | 
| 44121 | 
            +
                    # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
         | 
| 44122 | 
            +
                    # location`/certificates/`resourceName`.
         | 
| 43947 44123 | 
             
                    # Corresponds to the JSON property `sslCertificates`
         | 
| 43948 44124 | 
             
                    # @return [Array<String>]
         | 
| 43949 44125 | 
             
                    attr_accessor :ssl_certificates
         | 
| @@ -46692,9 +46868,9 @@ module Google | |
| 46692 46868 | 
             
                  # and traffic management table. This resource defines mappings from hostnames
         | 
| 46693 46869 | 
             
                  # and URL paths to either a backend service or a backend bucket. To use the
         | 
| 46694 46870 | 
             
                  # global urlMaps resource, the backend service must have a loadBalancingScheme
         | 
| 46695 | 
            -
                  # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the | 
| 46696 | 
            -
                  # the backend service must have a loadBalancingScheme of | 
| 46697 | 
            -
                  # more information, read URL Map Concepts.
         | 
| 46871 | 
            +
                  # of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the
         | 
| 46872 | 
            +
                  # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
         | 
| 46873 | 
            +
                  # INTERNAL_MANAGED. For more information, read URL Map Concepts.
         | 
| 46698 46874 | 
             
                  class UrlMap
         | 
| 46699 46875 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 46700 46876 |  | 
| @@ -46727,8 +46903,9 @@ module Google | |
| 46727 46903 | 
             
                    # directed if none of the hostRules match. If defaultRouteAction is also
         | 
| 46728 46904 | 
             
                    # specified, advanced routing actions, such as URL rewrites, take effect before
         | 
| 46729 46905 | 
             
                    # sending the request to the backend. However, if defaultService is specified,
         | 
| 46730 | 
            -
                    # defaultRouteAction cannot contain any  | 
| 46731 | 
            -
                    #  | 
| 46906 | 
            +
                    # defaultRouteAction cannot contain any defaultRouteAction.
         | 
| 46907 | 
            +
                    # weightedBackendServices. Conversely, if defaultRouteAction specifies any
         | 
| 46908 | 
            +
                    # defaultRouteAction.weightedBackendServices, defaultService must not be
         | 
| 46732 46909 | 
             
                    # specified. If defaultService is specified, then set either defaultUrlRedirect ,
         | 
| 46733 46910 | 
             
                    # or defaultRouteAction.weightedBackendService Don't set both. defaultService
         | 
| 46734 46911 | 
             
                    # has no effect when the URL map is bound to a target gRPC proxy that has the
         | 
| @@ -47362,9 +47539,9 @@ module Google | |
| 47362 47539 | 
             
                    # and traffic management table. This resource defines mappings from hostnames
         | 
| 47363 47540 | 
             
                    # and URL paths to either a backend service or a backend bucket. To use the
         | 
| 47364 47541 | 
             
                    # global urlMaps resource, the backend service must have a loadBalancingScheme
         | 
| 47365 | 
            -
                    # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the | 
| 47366 | 
            -
                    # the backend service must have a loadBalancingScheme of | 
| 47367 | 
            -
                    # more information, read URL Map Concepts.
         | 
| 47542 | 
            +
                    # of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the
         | 
| 47543 | 
            +
                    # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
         | 
| 47544 | 
            +
                    # INTERNAL_MANAGED. For more information, read URL Map Concepts.
         | 
| 47368 47545 | 
             
                    # Corresponds to the JSON property `resource`
         | 
| 47369 47546 | 
             
                    # @return [Google::Apis::ComputeV1::UrlMap]
         | 
| 47370 47547 | 
             
                    attr_accessor :resource
         | 
| @@ -47480,7 +47657,7 @@ module Google | |
| 47480 47657 | 
             
                    attr_accessor :network
         | 
| 47481 47658 |  | 
| 47482 47659 | 
             
                    # The purpose of the resource. This field can be either PRIVATE,
         | 
| 47483 | 
            -
                    # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT | 
| 47660 | 
            +
                    # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, or PRIVATE_SERVICE_CONNECT.
         | 
| 47484 47661 | 
             
                    # PRIVATE is the default purpose for user-created subnets or subnets that are
         | 
| 47485 47662 | 
             
                    # automatically created in auto mode networks. Subnets with purpose set to
         | 
| 47486 47663 | 
             
                    # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
         | 
| @@ -48060,8 +48237,9 @@ module Google | |
| 48060 48237 | 
             
                    attr_accessor :self_link
         | 
| 48061 48238 |  | 
| 48062 48239 | 
             
                    # The stack type for this VPN gateway to identify the IP protocols that are
         | 
| 48063 | 
            -
                    # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not | 
| 48064 | 
            -
                    # IPV4_ONLY  | 
| 48240 | 
            +
                    # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not
         | 
| 48241 | 
            +
                    # specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6
         | 
| 48242 | 
            +
                    # if the gateway IP version is IPV6.
         | 
| 48065 48243 | 
             
                    # Corresponds to the JSON property `stackType`
         | 
| 48066 48244 | 
             
                    # @return [String]
         | 
| 48067 48245 | 
             
                    attr_accessor :stack_type
         | 
| @@ -48677,7 +48855,8 @@ module Google | |
| 48677 48855 |  | 
| 48678 48856 | 
             
                    # Local traffic selector to use when establishing the VPN tunnel with the peer
         | 
| 48679 48857 | 
             
                    # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
         | 
| 48680 | 
            -
                    # 0.0/16. The ranges must be disjoint. Only IPv4 is supported | 
| 48858 | 
            +
                    # 0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN
         | 
| 48859 | 
            +
                    # tunnels. This field is output only for HA VPN tunnels.
         | 
| 48681 48860 | 
             
                    # Corresponds to the JSON property `localTrafficSelector`
         | 
| 48682 48861 | 
             
                    # @return [Array<String>]
         | 
| 48683 48862 | 
             
                    attr_accessor :local_traffic_selector
         | 
| @@ -48717,7 +48896,8 @@ module Google | |
| 48717 48896 | 
             
                    # @return [String]
         | 
| 48718 48897 | 
             
                    attr_accessor :peer_gcp_gateway
         | 
| 48719 48898 |  | 
| 48720 | 
            -
                    # IP address of the peer VPN gateway. Only IPv4 is supported.
         | 
| 48899 | 
            +
                    # IP address of the peer VPN gateway. Only IPv4 is supported. This field can be
         | 
| 48900 | 
            +
                    # set only for Classic VPN tunnels.
         | 
| 48721 48901 | 
             
                    # Corresponds to the JSON property `peerIp`
         | 
| 48722 48902 | 
             
                    # @return [String]
         | 
| 48723 48903 | 
             
                    attr_accessor :peer_ip
         | 
| @@ -48731,7 +48911,8 @@ module Google | |
| 48731 48911 |  | 
| 48732 48912 | 
             
                    # Remote traffic selectors to use when establishing the VPN tunnel with the peer
         | 
| 48733 48913 | 
             
                    # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
         | 
| 48734 | 
            -
                    # 0.0/16. The ranges should be disjoint. Only IPv4 is supported | 
| 48914 | 
            +
                    # 0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN
         | 
| 48915 | 
            +
                    # tunnels. This field is output only for HA VPN tunnels.
         | 
| 48735 48916 | 
             
                    # Corresponds to the JSON property `remoteTrafficSelector`
         | 
| 48736 48917 | 
             
                    # @return [Array<String>]
         | 
| 48737 48918 | 
             
                    attr_accessor :remote_traffic_selector
         | 
| @@ -48780,7 +48961,8 @@ module Google | |
| 48780 48961 | 
             
                    attr_accessor :status
         | 
| 48781 48962 |  | 
| 48782 48963 | 
             
                    # URL of the Target VPN gateway with which this VPN tunnel is associated.
         | 
| 48783 | 
            -
                    # Provided by the client when the VPN tunnel is created.
         | 
| 48964 | 
            +
                    # Provided by the client when the VPN tunnel is created. This field can be set
         | 
| 48965 | 
            +
                    # only for Classic VPN tunnels.
         | 
| 48784 48966 | 
             
                    # Corresponds to the JSON property `targetVpnGateway`
         | 
| 48785 48967 | 
             
                    # @return [String]
         | 
| 48786 48968 | 
             
                    attr_accessor :target_vpn_gateway
         |