google-api-client 0.9.11 → 0.9.12

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.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile +1 -1
  4. data/README.md +1 -1
  5. data/api_names.yaml +55 -117
  6. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +76 -8
  7. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +23 -0
  8. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +10 -4
  9. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  10. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
  11. data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
  12. data/generated/google/apis/admin_directory_v1/classes.rb +6 -0
  13. data/generated/google/apis/admin_directory_v1/representations.rb +1 -0
  14. data/generated/google/apis/admin_directory_v1/service.rb +2 -2
  15. data/generated/google/apis/admin_directory_v1.rb +1 -1
  16. data/generated/google/apis/admin_reports_v1/service.rb +2 -2
  17. data/generated/google/apis/admin_reports_v1.rb +3 -3
  18. data/generated/google/apis/adsense_v1_4.rb +1 -1
  19. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  20. data/generated/google/apis/analytics_v3/classes.rb +371 -1
  21. data/generated/google/apis/analytics_v3/representations.rb +135 -0
  22. data/generated/google/apis/analytics_v3/service.rb +218 -0
  23. data/generated/google/apis/analytics_v3.rb +1 -1
  24. data/generated/google/apis/analyticsreporting_v4/classes.rb +18 -8
  25. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  26. data/generated/google/apis/androidenterprise_v1/classes.rb +208 -37
  27. data/generated/google/apis/androidenterprise_v1/representations.rb +83 -0
  28. data/generated/google/apis/androidenterprise_v1/service.rb +469 -20
  29. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  30. data/generated/google/apis/androidpublisher_v2/classes.rb +9 -8
  31. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  32. data/generated/google/apis/appengine_v1beta5/classes.rb +379 -297
  33. data/generated/google/apis/appengine_v1beta5/representations.rb +55 -10
  34. data/generated/google/apis/appengine_v1beta5/service.rb +281 -35
  35. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  36. data/generated/google/apis/appsactivity_v1.rb +1 -1
  37. data/generated/google/apis/appstate_v1.rb +1 -1
  38. data/generated/google/apis/bigquery_v2/classes.rb +50 -2
  39. data/generated/google/apis/bigquery_v2/representations.rb +6 -0
  40. data/generated/google/apis/bigquery_v2/service.rb +8 -1
  41. data/generated/google/apis/bigquery_v2.rb +1 -1
  42. data/generated/google/apis/calendar_v3.rb +1 -1
  43. data/generated/google/apis/civicinfo_v2/classes.rb +6 -0
  44. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  45. data/generated/google/apis/civicinfo_v2/service.rb +2 -1
  46. data/generated/google/apis/civicinfo_v2.rb +3 -2
  47. data/generated/google/apis/classroom_v1/classes.rb +176 -37
  48. data/generated/google/apis/classroom_v1/representations.rb +73 -9
  49. data/generated/google/apis/classroom_v1/service.rb +392 -37
  50. data/generated/google/apis/classroom_v1.rb +1 -1
  51. data/generated/google/apis/cloudbuild_v1/classes.rb +190 -12
  52. data/generated/google/apis/cloudbuild_v1/representations.rb +73 -2
  53. data/generated/google/apis/cloudbuild_v1/service.rb +170 -0
  54. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  55. data/generated/google/apis/clouddebugger_v2/service.rb +2 -2
  56. data/generated/google/apis/clouddebugger_v2.rb +3 -6
  57. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  58. data/generated/google/apis/compute_beta/classes.rb +599 -77
  59. data/generated/google/apis/compute_beta/representations.rb +240 -0
  60. data/generated/google/apis/compute_beta/service.rb +1999 -710
  61. data/generated/google/apis/compute_beta.rb +1 -1
  62. data/generated/google/apis/compute_v1/classes.rb +140 -58
  63. data/generated/google/apis/compute_v1/representations.rb +17 -0
  64. data/generated/google/apis/compute_v1/service.rb +462 -521
  65. data/generated/google/apis/compute_v1.rb +1 -1
  66. data/generated/google/apis/content_v2/classes.rb +689 -1
  67. data/generated/google/apis/content_v2/representations.rb +316 -0
  68. data/generated/google/apis/content_v2/service.rb +244 -0
  69. data/generated/google/apis/content_v2.rb +1 -1
  70. data/generated/google/apis/datastore_v1beta3/classes.rb +48 -0
  71. data/generated/google/apis/datastore_v1beta3/representations.rb +5 -0
  72. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  73. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  74. data/generated/google/apis/dfareporting_v2_6/classes.rb +11585 -0
  75. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  76. data/generated/google/apis/dfareporting_v2_6/service.rb +9006 -0
  77. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  78. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  79. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  80. data/generated/google/apis/drive_v2/classes.rb +1 -1
  81. data/generated/google/apis/drive_v2.rb +1 -1
  82. data/generated/google/apis/drive_v3.rb +1 -1
  83. data/generated/google/apis/fitness_v1/classes.rb +8 -0
  84. data/generated/google/apis/fitness_v1/representations.rb +1 -0
  85. data/generated/google/apis/fitness_v1/service.rb +2 -2
  86. data/generated/google/apis/fitness_v1.rb +7 -1
  87. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  88. data/generated/google/apis/games_management_v1management.rb +1 -1
  89. data/generated/google/apis/games_v1.rb +1 -1
  90. data/generated/google/apis/genomics_v1/classes.rb +13 -2
  91. data/generated/google/apis/genomics_v1/representations.rb +1 -0
  92. data/generated/google/apis/genomics_v1/service.rb +2 -3
  93. data/generated/google/apis/genomics_v1.rb +1 -1
  94. data/generated/google/apis/gmail_v1/classes.rb +8 -11
  95. data/generated/google/apis/gmail_v1/service.rb +5 -5
  96. data/generated/google/apis/gmail_v1.rb +1 -1
  97. data/generated/google/apis/identitytoolkit_v3/classes.rb +38 -0
  98. data/generated/google/apis/identitytoolkit_v3/representations.rb +6 -0
  99. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  100. data/generated/google/apis/monitoring_v3/classes.rb +340 -421
  101. data/generated/google/apis/monitoring_v3/representations.rb +0 -17
  102. data/generated/google/apis/monitoring_v3/service.rb +136 -168
  103. data/generated/google/apis/monitoring_v3.rb +1 -1
  104. data/generated/google/apis/oauth2_v2.rb +1 -1
  105. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  106. data/generated/google/apis/plus_domains_v1.rb +1 -1
  107. data/generated/google/apis/plus_v1.rb +1 -1
  108. data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
  109. data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
  110. data/generated/google/apis/qpx_express_v1.rb +1 -1
  111. data/generated/google/apis/script_v1/classes.rb +6 -0
  112. data/generated/google/apis/script_v1/representations.rb +1 -0
  113. data/generated/google/apis/script_v1.rb +1 -1
  114. data/generated/google/apis/sheets_v4/classes.rb +35 -0
  115. data/generated/google/apis/sheets_v4/representations.rb +16 -0
  116. data/generated/google/apis/sheets_v4/service.rb +55 -0
  117. data/generated/google/apis/sheets_v4.rb +1 -1
  118. data/generated/google/apis/sqladmin_v1beta4/classes.rb +12 -0
  119. data/generated/google/apis/sqladmin_v1beta4/representations.rb +2 -0
  120. data/generated/google/apis/sqladmin_v1beta4/service.rb +41 -0
  121. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  122. data/generated/google/apis/storage_v1/classes.rb +36 -1
  123. data/generated/google/apis/storage_v1/representations.rb +16 -0
  124. data/generated/google/apis/storage_v1/service.rb +18 -3
  125. data/generated/google/apis/storage_v1.rb +1 -1
  126. data/generated/google/apis/vision_v1.rb +1 -1
  127. data/generated/google/apis/youtube_partner_v1/classes.rb +6 -0
  128. data/generated/google/apis/youtube_partner_v1/representations.rb +2 -0
  129. data/generated/google/apis/youtube_partner_v1/service.rb +15 -3
  130. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  131. data/generated/google/apis/youtube_v3.rb +1 -1
  132. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  133. data/lib/google/apis/generator/annotator.rb +6 -0
  134. data/lib/google/apis/version.rb +1 -1
  135. metadata +6 -3
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeBeta
27
27
  VERSION = 'Beta'
28
- REVISION = '20160628'
28
+ REVISION = '20160812'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,7 +22,8 @@ module Google
22
22
  module Apis
23
23
  module ComputeV1
24
24
 
25
- # An access configuration attached to an instance's network interface.
25
+ # An access configuration attached to an instance's network interface. Only one
26
+ # access config per instance is supported.
26
27
  class AccessConfig
27
28
  include Google::Apis::Core::Hashable
28
29
 
@@ -414,7 +415,8 @@ module Google
414
415
  attr_accessor :mode
415
416
 
416
417
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
417
- # This field is only applicable for persistent disks.
418
+ # This field is only applicable for persistent disks. Note that for
419
+ # InstanceTemplate, it is just disk name, not URL for the disk.
418
420
  # Corresponds to the JSON property `source`
419
421
  # @return [String]
420
422
  attr_accessor :source
@@ -475,7 +477,8 @@ module Google
475
477
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/
476
478
  # diskType
477
479
  # - projects/project/zones/zone/diskTypes/diskType
478
- # - zones/zone/diskTypes/diskType
480
+ # - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the
481
+ # name of the disk type, not URL.
479
482
  # Corresponds to the JSON property `diskType`
480
483
  # @return [String]
481
484
  attr_accessor :disk_type
@@ -572,7 +575,8 @@ module Google
572
575
  # @return [String]
573
576
  attr_accessor :target
574
577
 
575
- # [Output Only] URL of the zone where the instance group resides.
578
+ # [Output Only] URL of the zone where the instance group resides (for
579
+ # autoscalers living in zonal scope).
576
580
  # Corresponds to the JSON property `zone`
577
581
  # @return [String]
578
582
  attr_accessor :zone
@@ -849,7 +853,7 @@ module Google
849
853
  include Google::Apis::Core::Hashable
850
854
 
851
855
  # The target CPU utilization that the autoscaler should maintain. Must be a
852
- # float value in the range (0, 1]. If not specified, the default is 0.8.
856
+ # float value in the range (0, 1]. If not specified, the default is 0.6.
853
857
  # If the CPU level is below the target utilization, the autoscaler scales down
854
858
  # the number of instances until it reaches the minimum number of instances you
855
859
  # specified or until the average CPU of your instances reaches the target
@@ -942,6 +946,7 @@ module Google
942
946
 
943
947
  # Specifies the balancing mode for this backend. For global HTTP(S) load
944
948
  # balancing, the default is UTILIZATION. Valid values are UTILIZATION and RATE.
949
+ # This cannot be used for internal load balancing.
945
950
  # Corresponds to the JSON property `balancingMode`
946
951
  # @return [String]
947
952
  attr_accessor :balancing_mode
@@ -951,6 +956,7 @@ module Google
951
956
  # to 100% of its configured CPU or RPS (depending on balancingMode). A setting
952
957
  # of 0 means the group is completely drained, offering 0% of its available CPU
953
958
  # or RPS. Valid range is [0.0,1.0].
959
+ # This cannot be used for internal load balancing.
954
960
  # Corresponds to the JSON property `capacityScaler`
955
961
  # @return [Float]
956
962
  attr_accessor :capacity_scaler
@@ -968,6 +974,8 @@ module Google
968
974
  # Instance Group resource.
969
975
  # Note that you must specify an Instance Group resource using the fully-
970
976
  # qualified URL, rather than a partial URL.
977
+ # When the BackendService has load balancing scheme INTERNAL, the instance group
978
+ # must be in a zone within the same region as the BackendService.
971
979
  # Corresponds to the JSON property `group`
972
980
  # @return [String]
973
981
  attr_accessor :group
@@ -975,6 +983,7 @@ module Google
975
983
  # The max requests per second (RPS) of the group. Can be used with either RATE
976
984
  # or UTILIZATION balancing modes, but required if RATE mode. For RATE mode,
977
985
  # either maxRate or maxRatePerInstance must be set.
986
+ # This cannot be used for internal load balancing.
978
987
  # Corresponds to the JSON property `maxRate`
979
988
  # @return [Fixnum]
980
989
  attr_accessor :max_rate
@@ -983,12 +992,14 @@ module Google
983
992
  # This is used to calculate the capacity of the group. Can be used in either
984
993
  # balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be
985
994
  # set.
995
+ # This cannot be used for internal load balancing.
986
996
  # Corresponds to the JSON property `maxRatePerInstance`
987
997
  # @return [Float]
988
998
  attr_accessor :max_rate_per_instance
989
999
 
990
1000
  # Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization
991
1001
  # target for the group. The default is 0.8. Valid range is [0.0, 1.0].
1002
+ # This cannot be used for internal load balancing.
992
1003
  # Corresponds to the JSON property `maxUtilization`
993
1004
  # @return [Float]
994
1005
  attr_accessor :max_utilization
@@ -1014,6 +1025,14 @@ module Google
1014
1025
  class BackendService
1015
1026
  include Google::Apis::Core::Hashable
1016
1027
 
1028
+ # Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set
1029
+ # to 0, the cookie is non-persistent and lasts only until the end of the browser
1030
+ # session (or equivalent). The maximum allowed value for TTL is one day.
1031
+ # When the load balancing scheme is INTERNAL, this field is not used.
1032
+ # Corresponds to the JSON property `affinityCookieTtlSec`
1033
+ # @return [Fixnum]
1034
+ attr_accessor :affinity_cookie_ttl_sec
1035
+
1017
1036
  # The list of backends that serve this BackendService.
1018
1037
  # Corresponds to the JSON property `backends`
1019
1038
  # @return [Array<Google::Apis::ComputeV1::Backend>]
@@ -1031,6 +1050,7 @@ module Google
1031
1050
  attr_accessor :description
1032
1051
 
1033
1052
  # If true, enable Cloud CDN for this BackendService.
1053
+ # When the load balancing scheme is INTERNAL, this field is not used.
1034
1054
  # Corresponds to the JSON property `enableCDN`
1035
1055
  # @return [Boolean]
1036
1056
  attr_accessor :enable_cdn
@@ -1047,6 +1067,8 @@ module Google
1047
1067
  # The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
1048
1068
  # health checking this BackendService. Currently at most one health check can be
1049
1069
  # specified, and a health check is required.
1070
+ # For internal load balancing, a URL to a HealthCheck resource must be specified
1071
+ # instead.
1050
1072
  # Corresponds to the JSON property `healthChecks`
1051
1073
  # @return [Array<String>]
1052
1074
  attr_accessor :health_checks
@@ -1075,18 +1097,23 @@ module Google
1075
1097
 
1076
1098
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
1077
1099
  # default value is 80.
1100
+ # This cannot be used for internal load balancing.
1078
1101
  # Corresponds to the JSON property `port`
1079
1102
  # @return [Fixnum]
1080
1103
  attr_accessor :port
1081
1104
 
1082
1105
  # Name of backend port. The same name should appear in the instance groups
1083
- # referenced by this service. Required.
1106
+ # referenced by this service. Required when the load balancing scheme is
1107
+ # EXTERNAL.
1108
+ # When the load balancing scheme is INTERNAL, this field is not used.
1084
1109
  # Corresponds to the JSON property `portName`
1085
1110
  # @return [String]
1086
1111
  attr_accessor :port_name
1087
1112
 
1088
1113
  # The protocol this BackendService uses to communicate with backends.
1089
- # Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.
1114
+ # Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. The default is HTTP.
1115
+ # For internal load balancing, the possible values are TCP and UDP, and the
1116
+ # default is TCP.
1090
1117
  # Corresponds to the JSON property `protocol`
1091
1118
  # @return [String]
1092
1119
  attr_accessor :protocol
@@ -1102,6 +1129,16 @@ module Google
1102
1129
  # @return [String]
1103
1130
  attr_accessor :self_link
1104
1131
 
1132
+ # Type of session affinity to use. The default is NONE.
1133
+ # When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or
1134
+ # GENERATED_COOKIE.
1135
+ # When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP,
1136
+ # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
1137
+ # When the protocol is UDP, this field is not used.
1138
+ # Corresponds to the JSON property `sessionAffinity`
1139
+ # @return [String]
1140
+ attr_accessor :session_affinity
1141
+
1105
1142
  # How many seconds to wait for the backend before considering it a failed
1106
1143
  # request. Default is 30 seconds.
1107
1144
  # Corresponds to the JSON property `timeoutSec`
@@ -1114,6 +1151,7 @@ module Google
1114
1151
 
1115
1152
  # Update properties of this object
1116
1153
  def update!(**args)
1154
+ @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
1117
1155
  @backends = args[:backends] if args.key?(:backends)
1118
1156
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1119
1157
  @description = args[:description] if args.key?(:description)
@@ -1128,6 +1166,7 @@ module Google
1128
1166
  @protocol = args[:protocol] if args.key?(:protocol)
1129
1167
  @region = args[:region] if args.key?(:region)
1130
1168
  @self_link = args[:self_link] if args.key?(:self_link)
1169
+ @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
1131
1170
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
1132
1171
  end
1133
1172
  end
@@ -1367,7 +1406,7 @@ module Google
1367
1406
  # @return [String]
1368
1407
  attr_accessor :last_detach_timestamp
1369
1408
 
1370
- # [Output Only] Any applicable publicly visible licenses.
1409
+ # Any applicable publicly visible licenses.
1371
1410
  # Corresponds to the JSON property `licenses`
1372
1411
  # @return [Array<String>]
1373
1412
  attr_accessor :licenses
@@ -2020,8 +2059,8 @@ module Google
2020
2059
  class Firewall
2021
2060
  include Google::Apis::Core::Hashable
2022
2061
 
2023
- # The list of rules specified by this firewall. Each rule specifies a protocol
2024
- # and port-range tuple that describes a permitted connection.
2062
+ # The list of ALLOW rules specified by this firewall. Each rule specifies a
2063
+ # protocol and port-range tuple that describes a permitted connection.
2025
2064
  # Corresponds to the JSON property `allowed`
2026
2065
  # @return [Array<Google::Apis::ComputeV1::Firewall::Allowed>]
2027
2066
  attr_accessor :allowed
@@ -2076,24 +2115,25 @@ module Google
2076
2115
  # @return [String]
2077
2116
  attr_accessor :self_link
2078
2117
 
2079
- # The IP address blocks that this rule applies to, expressed in CIDR format. One
2080
- # or both of sourceRanges and sourceTags may be set.
2081
- # If both properties are set, an inbound connection is allowed if the range
2082
- # matches the sourceRanges OR the tag of the source matches the sourceTags
2083
- # property. The connection does not need to match both properties.
2118
+ # If source ranges are specified, the firewall will apply only to traffic that
2119
+ # has source IP address in these ranges. These ranges must be expressed in CIDR
2120
+ # format. One or both of sourceRanges and sourceTags may be set. If both
2121
+ # properties are set, the firewall will apply to traffic that has source IP
2122
+ # address within sourceRanges OR the source IP that belongs to a tag listed in
2123
+ # the sourceTags property. The connection does not need to match both properties
2124
+ # for the firewall to apply.
2084
2125
  # Corresponds to the JSON property `sourceRanges`
2085
2126
  # @return [Array<String>]
2086
2127
  attr_accessor :source_ranges
2087
2128
 
2088
- # A list of instance tags which this rule applies to. One or both of
2089
- # sourceRanges and sourceTags may be set.
2090
- # If both properties are set, an inbound connection is allowed if the range
2091
- # matches the sourceRanges OR the tag of the source matches the sourceTags
2092
- # property. The connection does not need to match both properties.
2093
- # Source tags cannot be used to allow access to an instance's external IP
2094
- # address. Because tags are associated with an instance, not an IP address,
2095
- # source tags can only be used to control traffic traveling from an instance
2096
- # inside the same network as the firewall.
2129
+ # If source tags are specified, the firewall will apply only to traffic with
2130
+ # source IP that belongs to a tag listed in source tags. Source tags cannot be
2131
+ # used to control traffic to an instance's external IP address. Because tags are
2132
+ # associated with an instance, not an IP address. One or both of sourceRanges
2133
+ # and sourceTags may be set. If both properties are set, the firewall will apply
2134
+ # to traffic that has source IP address within sourceRanges OR the source IP
2135
+ # that belongs to a tag listed in the sourceTags property. The connection does
2136
+ # not need to match both properties for the firewall to apply.
2097
2137
  # Corresponds to the JSON property `sourceTags`
2098
2138
  # @return [Array<String>]
2099
2139
  attr_accessor :source_tags
@@ -2129,17 +2169,17 @@ module Google
2129
2169
  class Allowed
2130
2170
  include Google::Apis::Core::Hashable
2131
2171
 
2132
- # The IP protocol that is allowed for this rule. The protocol type is required
2133
- # when creating a firewall rule. This value can either be one of the following
2134
- # well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP
2135
- # protocol number.
2172
+ # The IP protocol to which this rule applies. The protocol type is required when
2173
+ # creating a firewall rule. This value can either be one of the following well
2174
+ # known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol
2175
+ # number.
2136
2176
  # Corresponds to the JSON property `IPProtocol`
2137
2177
  # @return [String]
2138
2178
  attr_accessor :ip_protocol
2139
2179
 
2140
- # An optional list of ports which are allowed. This field is only applicable for
2141
- # UDP or TCP protocol. Each entry must be either an integer or a range. If not
2142
- # specified, connections through any port are allowed
2180
+ # An optional list of ports to which this rule applies. This field is only
2181
+ # applicable for UDP or TCP protocol. Each entry must be either an integer or a
2182
+ # range. If not specified, this rule applies to connections through any port.
2143
2183
  # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
2144
2184
  # Corresponds to the JSON property `ports`
2145
2185
  # @return [Array<String>]
@@ -2212,17 +2252,23 @@ module Google
2212
2252
  class ForwardingRule
2213
2253
  include Google::Apis::Core::Hashable
2214
2254
 
2215
- # Value of the reserved IP address that this forwarding rule is serving on
2216
- # behalf of. For global forwarding rules, the address must be a global IP; for
2217
- # regional forwarding rules, the address must live in the same region as the
2218
- # forwarding rule. If left empty (default value), an ephemeral IP from the same
2219
- # scope (global or regional) will be assigned.
2255
+ # The IP address that this forwarding rule is serving on behalf of.
2256
+ # For global forwarding rules, the address must be a global IP; for regional
2257
+ # forwarding rules, the address must live in the same region as the forwarding
2258
+ # rule. By default, this field is empty and an ephemeral IP from the same scope (
2259
+ # global or regional) will be assigned.
2260
+ # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
2261
+ # address belonging to the network/subnetwork configured for the forwarding rule.
2262
+ # A reserved address cannot be used. If the field is empty, the IP address will
2263
+ # be automatically allocated from the internal IP range of the subnetwork or
2264
+ # network configured for this forwarding rule.
2220
2265
  # Corresponds to the JSON property `IPAddress`
2221
2266
  # @return [String]
2222
2267
  attr_accessor :ip_address
2223
2268
 
2224
2269
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
2225
2270
  # AH, SCTP or ICMP.
2271
+ # When the load balancing scheme is INTERNAL</code, only TCP and UDP are valid.
2226
2272
  # Corresponds to the JSON property `IPProtocol`
2227
2273
  # @return [String]
2228
2274
  attr_accessor :ip_protocol
@@ -2263,6 +2309,7 @@ module Google
2263
2309
  # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
2264
2310
  # to ports in the specified range will be forwarded to target. Forwarding rules
2265
2311
  # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
2312
+ # This field is not used for internal load balancing.
2266
2313
  # Corresponds to the JSON property `portRange`
2267
2314
  # @return [String]
2268
2315
  attr_accessor :port_range
@@ -2284,6 +2331,7 @@ module Google
2284
2331
  # TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of
2285
2332
  # a type appropriate to the target object. For example, TargetHttpProxy requires
2286
2333
  # HTTP traffic, and TargetHttpsProxy requires HTTPS traffic.
2334
+ # This field is not used for internal load balancing.
2287
2335
  # Corresponds to the JSON property `target`
2288
2336
  # @return [String]
2289
2337
  attr_accessor :target
@@ -2930,7 +2978,8 @@ module Google
2930
2978
 
2931
2979
  # The name of the image family to which this image belongs. You can create disks
2932
2980
  # by specifying an image family instead of a specific image name. The image
2933
- # family always returns its latest image that is not deprecated.
2981
+ # family always returns its latest image that is not deprecated. The name of the
2982
+ # image family must comply with RFC1035.
2934
2983
  # Corresponds to the JSON property `family`
2935
2984
  # @return [String]
2936
2985
  attr_accessor :family
@@ -3202,7 +3251,7 @@ module Google
3202
3251
 
3203
3252
  # An array of configurations for this interface. This specifies how this
3204
3253
  # interface is configured to interact with other network services, such as
3205
- # connecting to the internet.
3254
+ # connecting to the internet. Only one interface is supported per instance.
3206
3255
  # Corresponds to the JSON property `networkInterfaces`
3207
3256
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
3208
3257
  attr_accessor :network_interfaces
@@ -3393,7 +3442,8 @@ module Google
3393
3442
  # @return [String]
3394
3443
  attr_accessor :subnetwork
3395
3444
 
3396
- # [Output Only] The URL of the zone where the instance group is located.
3445
+ # [Output Only] The URL of the zone where the instance group is located (for
3446
+ # zonal resources).
3397
3447
  # Corresponds to the JSON property `zone`
3398
3448
  # @return [String]
3399
3449
  attr_accessor :zone
@@ -3517,7 +3567,7 @@ module Google
3517
3567
  end
3518
3568
  end
3519
3569
 
3520
- # An Instance Template Manager resource.
3570
+ # An Instance Group Manager resource.
3521
3571
  class InstanceGroupManager
3522
3572
  include Google::Apis::Core::Hashable
3523
3573
 
@@ -3609,7 +3659,8 @@ module Google
3609
3659
  # @return [Fixnum]
3610
3660
  attr_accessor :target_size
3611
3661
 
3612
- # The name of the zone where the managed instance group is located.
3662
+ # [Output Only] The URL of the zone where the managed instance group is located (
3663
+ # for zonal resources).
3613
3664
  # Corresponds to the JSON property `zone`
3614
3665
  # @return [String]
3615
3666
  attr_accessor :zone
@@ -3651,12 +3702,22 @@ module Google
3651
3702
 
3652
3703
  # [Output Only] The number of instances in the managed instance group that are
3653
3704
  # scheduled to be created or are currently being created. If the group fails to
3654
- # create one of these instances, it tries again until it creates the instance
3705
+ # create any of these instances, it tries again until it creates the instance
3655
3706
  # successfully.
3707
+ # If you have disabled creation retries, this field will not be populated;
3708
+ # instead, the creatingWithoutRetries field will be populated.
3656
3709
  # Corresponds to the JSON property `creating`
3657
3710
  # @return [Fixnum]
3658
3711
  attr_accessor :creating
3659
3712
 
3713
+ # [Output Only] The number of instances that the managed instance group will
3714
+ # attempt to create. The group attempts to create each instance only once. If
3715
+ # the group fails to create any of these instances, it decreases the group's
3716
+ # target_size value accordingly.
3717
+ # Corresponds to the JSON property `creatingWithoutRetries`
3718
+ # @return [Fixnum]
3719
+ attr_accessor :creating_without_retries
3720
+
3660
3721
  # [Output Only] The number of instances in the managed instance group that are
3661
3722
  # scheduled to be deleted or are currently being deleted.
3662
3723
  # Corresponds to the JSON property `deleting`
@@ -3698,6 +3759,7 @@ module Google
3698
3759
  def update!(**args)
3699
3760
  @abandoning = args[:abandoning] if args.key?(:abandoning)
3700
3761
  @creating = args[:creating] if args.key?(:creating)
3762
+ @creating_without_retries = args[:creating_without_retries] if args.key?(:creating_without_retries)
3701
3763
  @deleting = args[:deleting] if args.key?(:deleting)
3702
3764
  @none = args[:none] if args.key?(:none)
3703
3765
  @recreating = args[:recreating] if args.key?(:recreating)
@@ -4050,8 +4112,8 @@ module Google
4050
4112
  class InstanceGroupsListInstances
4051
4113
  include Google::Apis::Core::Hashable
4052
4114
 
4053
- # [Output Only] A unique identifier for this list of instance groups. The server
4054
- # generates this identifier.
4115
+ # [Output Only] A unique identifier for this list of instances in the specified
4116
+ # instance group. The server generates this identifier.
4055
4117
  # Corresponds to the JSON property `id`
4056
4118
  # @return [String]
4057
4119
  attr_accessor :id
@@ -4063,7 +4125,8 @@ module Google
4063
4125
  attr_accessor :items
4064
4126
 
4065
4127
  # [Output Only] The resource type, which is always compute#
4066
- # instanceGroupsListInstances for lists of instance groups.
4128
+ # instanceGroupsListInstances for the list of instances in the specified
4129
+ # instance group.
4067
4130
  # Corresponds to the JSON property `kind`
4068
4131
  # @return [String]
4069
4132
  attr_accessor :kind
@@ -4077,8 +4140,8 @@ module Google
4077
4140
  # @return [String]
4078
4141
  attr_accessor :next_page_token
4079
4142
 
4080
- # [Output Only] The URL for this list of instance groups. The server generates
4081
- # this URL.
4143
+ # [Output Only] The URL for this list of instances in the specified instance
4144
+ # groups. The server generates this URL.
4082
4145
  # Corresponds to the JSON property `selfLink`
4083
4146
  # @return [String]
4084
4147
  attr_accessor :self_link
@@ -5088,7 +5151,7 @@ module Google
5088
5151
  # fails to create this instance, it will try again until it is successful.
5089
5152
  # - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create
5090
5153
  # this instance only once. If the group fails to create this instance, it does
5091
- # not try again and the group's target_size value is decreased.
5154
+ # not try again and the group's targetSize value is decreased instead.
5092
5155
  # - RECREATING The managed instance group is recreating this instance.
5093
5156
  # - DELETING The managed instance group is permanently deleting this instance.
5094
5157
  # - ABANDONING The managed instance group is abandoning this instance. The
@@ -5399,8 +5462,8 @@ module Google
5399
5462
  class NetworkInterface
5400
5463
  include Google::Apis::Core::Hashable
5401
5464
 
5402
- # An array of configurations for this interface. Currently, ONE_TO_ONE_NAT is
5403
- # the only access config supported. If there are no accessConfigs specified,
5465
+ # An array of configurations for this interface. Currently, only one access
5466
+ # config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified,
5404
5467
  # then this instance will have no external internet access.
5405
5468
  # Corresponds to the JSON property `accessConfigs`
5406
5469
  # @return [Array<Google::Apis::ComputeV1::AccessConfig>]
@@ -6570,12 +6633,14 @@ module Google
6570
6633
  class Router
6571
6634
  include Google::Apis::Core::Hashable
6572
6635
 
6573
- #
6636
+ # BGP information specific to this router.
6574
6637
  # Corresponds to the JSON property `bgp`
6575
6638
  # @return [Google::Apis::ComputeV1::RouterBgp]
6576
6639
  attr_accessor :bgp
6577
6640
 
6578
- #
6641
+ # BGP information that needs to be configured into the routing stack to
6642
+ # establish the BGP peering. It must specify peer ASN and either interface name,
6643
+ # IP, or peer IP. Please refer to RFC4273.
6579
6644
  # Corresponds to the JSON property `bgpPeers`
6580
6645
  # @return [Array<Google::Apis::ComputeV1::RouterBgpPeer>]
6581
6646
  attr_accessor :bgp_peers
@@ -6597,7 +6662,8 @@ module Google
6597
6662
  # @return [String]
6598
6663
  attr_accessor :id
6599
6664
 
6600
- #
6665
+ # Router interfaces. Each interface requires either one linked resource (e.g.
6666
+ # linkedVpnTunnel) or IP address and IP address range (e.g. ipRange).
6601
6667
  # Corresponds to the JSON property `interfaces`
6602
6668
  # @return [Array<Google::Apis::ComputeV1::RouterInterface>]
6603
6669
  attr_accessor :interfaces
@@ -6721,9 +6787,7 @@ module Google
6721
6787
  end
6722
6788
  end
6723
6789
 
6724
- # BGP information that needs to be configured into the routing stack to
6725
- # establish the BGP peering. It must specify peer ASN and either interface name,
6726
- # IP, or peer IP. Reference: https://tools.ietf.org/html/rfc4273
6790
+ #
6727
6791
  class RouterBgpPeer
6728
6792
  include Google::Apis::Core::Hashable
6729
6793
 
@@ -6776,8 +6840,7 @@ module Google
6776
6840
  end
6777
6841
  end
6778
6842
 
6779
- # Router interfaces. Each interface requires either one linked resource (e.g.
6780
- # linked_vpn_tunnel) or IP address + range (specified in ip_range).
6843
+ #
6781
6844
  class RouterInterface
6782
6845
  include Google::Apis::Core::Hashable
6783
6846
 
@@ -6991,6 +7054,25 @@ module Google
6991
7054
  end
6992
7055
  end
6993
7056
 
7057
+ #
7058
+ class RoutersPreviewResponse
7059
+ include Google::Apis::Core::Hashable
7060
+
7061
+ # Router resource.
7062
+ # Corresponds to the JSON property `resource`
7063
+ # @return [Google::Apis::ComputeV1::Router]
7064
+ attr_accessor :resource
7065
+
7066
+ def initialize(**args)
7067
+ update!(**args)
7068
+ end
7069
+
7070
+ # Update properties of this object
7071
+ def update!(**args)
7072
+ @resource = args[:resource] if args.key?(:resource)
7073
+ end
7074
+ end
7075
+
6994
7076
  #
6995
7077
  class RoutersScopedList
6996
7078
  include Google::Apis::Core::Hashable