google-apis-connectors_v2 0.7.0 → 0.9.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.
@@ -22,6 +22,38 @@ module Google
22
22
  module Apis
23
23
  module ConnectorsV2
24
24
 
25
+ # AccessCredentials includes the OAuth access token, and the other fields
26
+ # returned along with it.
27
+ class AccessCredentials
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # OAuth access token.
31
+ # Corresponds to the JSON property `accessToken`
32
+ # @return [String]
33
+ attr_accessor :access_token
34
+
35
+ # Duration till the access token expires.
36
+ # Corresponds to the JSON property `expiresIn`
37
+ # @return [String]
38
+ attr_accessor :expires_in
39
+
40
+ # OAuth refresh token.
41
+ # Corresponds to the JSON property `refreshToken`
42
+ # @return [String]
43
+ attr_accessor :refresh_token
44
+
45
+ def initialize(**args)
46
+ update!(**args)
47
+ end
48
+
49
+ # Update properties of this object
50
+ def update!(**args)
51
+ @access_token = args[:access_token] if args.key?(:access_token)
52
+ @expires_in = args[:expires_in] if args.key?(:expires_in)
53
+ @refresh_token = args[:refresh_token] if args.key?(:refresh_token)
54
+ end
55
+ end
56
+
25
57
  # Action message contains metadata information about a single action present in
26
58
  # the external system.
27
59
  class Action
@@ -78,6 +110,167 @@ module Google
78
110
  end
79
111
  end
80
112
 
113
+ # Response containing status of the connector for readiness prober.
114
+ class CheckReadinessResponse
115
+ include Google::Apis::Core::Hashable
116
+
117
+ #
118
+ # Corresponds to the JSON property `status`
119
+ # @return [String]
120
+ attr_accessor :status
121
+
122
+ def initialize(**args)
123
+ update!(**args)
124
+ end
125
+
126
+ # Update properties of this object
127
+ def update!(**args)
128
+ @status = args[:status] if args.key?(:status)
129
+ end
130
+ end
131
+
132
+ # The status of the connector.
133
+ class CheckStatusResponse
134
+ include Google::Apis::Core::Hashable
135
+
136
+ # When the connector is not in ACTIVE state, the description must be populated
137
+ # to specify the reason why it's not in ACTIVE state.
138
+ # Corresponds to the JSON property `description`
139
+ # @return [String]
140
+ attr_accessor :description
141
+
142
+ # State of the connector.
143
+ # Corresponds to the JSON property `state`
144
+ # @return [String]
145
+ attr_accessor :state
146
+
147
+ def initialize(**args)
148
+ update!(**args)
149
+ end
150
+
151
+ # Update properties of this object
152
+ def update!(**args)
153
+ @description = args[:description] if args.key?(:description)
154
+ @state = args[:state] if args.key?(:state)
155
+ end
156
+ end
157
+
158
+ # Time window specified for daily operations.
159
+ class DailyCycle
160
+ include Google::Apis::Core::Hashable
161
+
162
+ # Output only. Duration of the time window, set by service producer.
163
+ # Corresponds to the JSON property `duration`
164
+ # @return [String]
165
+ attr_accessor :duration
166
+
167
+ # Represents a time of day. The date and time zone are either not significant or
168
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
169
+ # types are google.type.Date and `google.protobuf.Timestamp`.
170
+ # Corresponds to the JSON property `startTime`
171
+ # @return [Google::Apis::ConnectorsV2::TimeOfDay]
172
+ attr_accessor :start_time
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @duration = args[:duration] if args.key?(:duration)
181
+ @start_time = args[:start_time] if args.key?(:start_time)
182
+ end
183
+ end
184
+
185
+ # Represents a whole or partial calendar date, such as a birthday. The time of
186
+ # day and time zone are either specified elsewhere or are insignificant. The
187
+ # date is relative to the Gregorian Calendar. This can represent one of the
188
+ # following: * A full date, with non-zero year, month, and day values. * A month
189
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
190
+ # with a zero month and a zero day. * A year and month, with a zero day (for
191
+ # example, a credit card expiration date). Related types: * google.type.
192
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
193
+ class Date
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
197
+ # specify a year by itself or a year and month where the day isn't significant.
198
+ # Corresponds to the JSON property `day`
199
+ # @return [Fixnum]
200
+ attr_accessor :day
201
+
202
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
203
+ # and day.
204
+ # Corresponds to the JSON property `month`
205
+ # @return [Fixnum]
206
+ attr_accessor :month
207
+
208
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
209
+ # year.
210
+ # Corresponds to the JSON property `year`
211
+ # @return [Fixnum]
212
+ attr_accessor :year
213
+
214
+ def initialize(**args)
215
+ update!(**args)
216
+ end
217
+
218
+ # Update properties of this object
219
+ def update!(**args)
220
+ @day = args[:day] if args.key?(:day)
221
+ @month = args[:month] if args.key?(:month)
222
+ @year = args[:year] if args.key?(:year)
223
+ end
224
+ end
225
+
226
+ # DenyMaintenancePeriod definition. Maintenance is forbidden within the deny
227
+ # period. The start_date must be less than the end_date.
228
+ class DenyMaintenancePeriod
229
+ include Google::Apis::Core::Hashable
230
+
231
+ # Represents a whole or partial calendar date, such as a birthday. The time of
232
+ # day and time zone are either specified elsewhere or are insignificant. The
233
+ # date is relative to the Gregorian Calendar. This can represent one of the
234
+ # following: * A full date, with non-zero year, month, and day values. * A month
235
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
236
+ # with a zero month and a zero day. * A year and month, with a zero day (for
237
+ # example, a credit card expiration date). Related types: * google.type.
238
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
239
+ # Corresponds to the JSON property `endDate`
240
+ # @return [Google::Apis::ConnectorsV2::Date]
241
+ attr_accessor :end_date
242
+
243
+ # Represents a whole or partial calendar date, such as a birthday. The time of
244
+ # day and time zone are either specified elsewhere or are insignificant. The
245
+ # date is relative to the Gregorian Calendar. This can represent one of the
246
+ # following: * A full date, with non-zero year, month, and day values. * A month
247
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
248
+ # with a zero month and a zero day. * A year and month, with a zero day (for
249
+ # example, a credit card expiration date). Related types: * google.type.
250
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
251
+ # Corresponds to the JSON property `startDate`
252
+ # @return [Google::Apis::ConnectorsV2::Date]
253
+ attr_accessor :start_date
254
+
255
+ # Represents a time of day. The date and time zone are either not significant or
256
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
257
+ # types are google.type.Date and `google.protobuf.Timestamp`.
258
+ # Corresponds to the JSON property `time`
259
+ # @return [Google::Apis::ConnectorsV2::TimeOfDay]
260
+ attr_accessor :time
261
+
262
+ def initialize(**args)
263
+ update!(**args)
264
+ end
265
+
266
+ # Update properties of this object
267
+ def update!(**args)
268
+ @end_date = args[:end_date] if args.key?(:end_date)
269
+ @start_date = args[:start_date] if args.key?(:start_date)
270
+ @time = args[:time] if args.key?(:time)
271
+ end
272
+ end
273
+
81
274
  # A generic empty message that you can re-use to avoid defining duplicated empty
82
275
  # messages in your APIs. A typical example is to use it as the request or the
83
276
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -153,6 +346,40 @@ module Google
153
346
  end
154
347
  end
155
348
 
349
+ # ExchangeAuthCodeRequest currently includes no fields.
350
+ class ExchangeAuthCodeRequest
351
+ include Google::Apis::Core::Hashable
352
+
353
+ def initialize(**args)
354
+ update!(**args)
355
+ end
356
+
357
+ # Update properties of this object
358
+ def update!(**args)
359
+ end
360
+ end
361
+
362
+ # ExchangeAuthCodeResponse includes the returned access token and its associated
363
+ # credentials.
364
+ class ExchangeAuthCodeResponse
365
+ include Google::Apis::Core::Hashable
366
+
367
+ # AccessCredentials includes the OAuth access token, and the other fields
368
+ # returned along with it.
369
+ # Corresponds to the JSON property `accessCredentials`
370
+ # @return [Google::Apis::ConnectorsV2::AccessCredentials]
371
+ attr_accessor :access_credentials
372
+
373
+ def initialize(**args)
374
+ update!(**args)
375
+ end
376
+
377
+ # Update properties of this object
378
+ def update!(**args)
379
+ @access_credentials = args[:access_credentials] if args.key?(:access_credentials)
380
+ end
381
+ end
382
+
156
383
  # Request message for ActionService.ExecuteAction
157
384
  class ExecuteActionRequest
158
385
  include Google::Apis::Core::Hashable
@@ -373,6 +600,169 @@ module Google
373
600
  end
374
601
  end
375
602
 
603
+ # Instance represents the interface for SLM services to actuate the state of
604
+ # control plane resources. Example Instance in JSON, where consumer-project-
605
+ # number=123456, producer-project-id=cloud-sql: ```json Instance: ` "name": "
606
+ # projects/123456/locations/us-east1/instances/prod-instance", "create_time": ` "
607
+ # seconds": 1526406431, `, "labels": ` "env": "prod", "foo": "bar" `, "state":
608
+ # READY, "software_versions": ` "software_update": "cloud-sql-09-28-2018", `, "
609
+ # maintenance_policy_names": ` "UpdatePolicy": "projects/123456/locations/us-
610
+ # east1/maintenancePolicies/prod-update-policy", ` "tenant_project_id": "cloud-
611
+ # sql-test-tenant", "producer_metadata": ` "cloud-sql-tier": "basic", "cloud-sql-
612
+ # instance-size": "1G", `, "provisioned_resources": [ ` "resource-type": "
613
+ # compute-instance", "resource-url": "https://www.googleapis.com/compute/v1/
614
+ # projects/cloud-sql/zones/us-east1-b/instances/vm-1", ` ], "
615
+ # maintenance_schedules": ` "csa_rollout": ` "start_time": ` "seconds":
616
+ # 1526406431, `, "end_time": ` "seconds": 1535406431, `, `, "ncsa_rollout": ` "
617
+ # start_time": ` "seconds": 1526406431, `, "end_time": ` "seconds": 1535406431, `
618
+ # , ` `, "consumer_defined_name": "my-sql-instance1", ` ``` LINT.IfChange
619
+ class Instance
620
+ include Google::Apis::Core::Hashable
621
+
622
+ # consumer_defined_name is the name of the instance set by the service consumers.
623
+ # Generally this is different from the `name` field which reperesents the
624
+ # system-assigned id of the instance which the service consumers do not
625
+ # recognize. This is a required field for tenants onboarding to Maintenance
626
+ # Window notifications (go/slm-rollout-maintenance-policies#prerequisites).
627
+ # Corresponds to the JSON property `consumerDefinedName`
628
+ # @return [String]
629
+ attr_accessor :consumer_defined_name
630
+
631
+ # Output only. Timestamp when the resource was created.
632
+ # Corresponds to the JSON property `createTime`
633
+ # @return [String]
634
+ attr_accessor :create_time
635
+
636
+ # Optional. The instance_type of this instance of format: projects/`
637
+ # project_number`/locations/`location_id`/instanceTypes/`instance_type_id`.
638
+ # Instance Type represents a high-level tier or SKU of the service that this
639
+ # instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses '
640
+ # instance_type' along with 'software_versions' to determine whether instance
641
+ # needs an update or not.
642
+ # Corresponds to the JSON property `instanceType`
643
+ # @return [String]
644
+ attr_accessor :instance_type
645
+
646
+ # Optional. Resource labels to represent user provided metadata. Each label is a
647
+ # key-value pair, where both the key and the value are arbitrary strings
648
+ # provided by the user.
649
+ # Corresponds to the JSON property `labels`
650
+ # @return [Hash<String,String>]
651
+ attr_accessor :labels
652
+
653
+ # Optional. The MaintenancePolicies that have been attached to the instance. The
654
+ # key must be of the type name of the oneof policy name defined in
655
+ # MaintenancePolicy, and the referenced policy must define the same policy type.
656
+ # For details, please refer to go/mr-user-guide. Should not be set if
657
+ # maintenance_settings.maintenance_policies is set.
658
+ # Corresponds to the JSON property `maintenancePolicyNames`
659
+ # @return [Hash<String,String>]
660
+ attr_accessor :maintenance_policy_names
661
+
662
+ # The MaintenanceSchedule contains the scheduling information of published
663
+ # maintenance schedule with same key as software_versions.
664
+ # Corresponds to the JSON property `maintenanceSchedules`
665
+ # @return [Hash<String,Google::Apis::ConnectorsV2::MaintenanceSchedule>]
666
+ attr_accessor :maintenance_schedules
667
+
668
+ # Maintenance settings associated with instance. Allows service producers and
669
+ # end users to assign settings that controls maintenance on this instance.
670
+ # Corresponds to the JSON property `maintenanceSettings`
671
+ # @return [Google::Apis::ConnectorsV2::MaintenanceSettings]
672
+ attr_accessor :maintenance_settings
673
+
674
+ # Unique name of the resource. It uses the form: `projects/`project_number`/
675
+ # locations/`location_id`/instances/`instance_id`` Note: This name is passed,
676
+ # stored and logged across the rollout system. So use of consumer project_id or
677
+ # any other consumer PII in the name is strongly discouraged for wipeout (go/
678
+ # wipeout) compliance. See go/elysium/project_ids#storage-guidance for more
679
+ # details.
680
+ # Corresponds to the JSON property `name`
681
+ # @return [String]
682
+ attr_accessor :name
683
+
684
+ # Optional. notification_parameter are information that service producers may
685
+ # like to include that is not relevant to Rollout. This parameter will only be
686
+ # passed to Gamma and Cloud Logging for notification/logging purpose.
687
+ # Corresponds to the JSON property `notificationParameters`
688
+ # @return [Hash<String,Google::Apis::ConnectorsV2::NotificationParameter>]
689
+ attr_accessor :notification_parameters
690
+
691
+ # Output only. Custom string attributes used primarily to expose producer-
692
+ # specific information in monitoring dashboards. See go/get-instance-metadata.
693
+ # Corresponds to the JSON property `producerMetadata`
694
+ # @return [Hash<String,String>]
695
+ attr_accessor :producer_metadata
696
+
697
+ # Output only. The list of data plane resources provisioned for this instance, e.
698
+ # g. compute VMs. See go/get-instance-metadata.
699
+ # Corresponds to the JSON property `provisionedResources`
700
+ # @return [Array<Google::Apis::ConnectorsV2::ProvisionedResource>]
701
+ attr_accessor :provisioned_resources
702
+
703
+ # Link to the SLM instance template. Only populated when updating SLM instances
704
+ # via SSA's Actuation service adaptor. Service producers with custom control
705
+ # plane (e.g. Cloud SQL) doesn't need to populate this field. Instead they
706
+ # should use software_versions.
707
+ # Corresponds to the JSON property `slmInstanceTemplate`
708
+ # @return [String]
709
+ attr_accessor :slm_instance_template
710
+
711
+ # SloMetadata contains resources required for proper SLO classification of the
712
+ # instance.
713
+ # Corresponds to the JSON property `sloMetadata`
714
+ # @return [Google::Apis::ConnectorsV2::SloMetadata]
715
+ attr_accessor :slo_metadata
716
+
717
+ # Software versions that are used to deploy this instance. This can be mutated
718
+ # by rollout services.
719
+ # Corresponds to the JSON property `softwareVersions`
720
+ # @return [Hash<String,String>]
721
+ attr_accessor :software_versions
722
+
723
+ # Output only. Current lifecycle state of the resource (e.g. if it's being
724
+ # created or ready to use).
725
+ # Corresponds to the JSON property `state`
726
+ # @return [String]
727
+ attr_accessor :state
728
+
729
+ # Output only. ID of the associated GCP tenant project. See go/get-instance-
730
+ # metadata.
731
+ # Corresponds to the JSON property `tenantProjectId`
732
+ # @return [String]
733
+ attr_accessor :tenant_project_id
734
+
735
+ # Output only. Timestamp when the resource was last modified.
736
+ # Corresponds to the JSON property `updateTime`
737
+ # @return [String]
738
+ attr_accessor :update_time
739
+
740
+ def initialize(**args)
741
+ update!(**args)
742
+ end
743
+
744
+ # Update properties of this object
745
+ def update!(**args)
746
+ @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name)
747
+ @create_time = args[:create_time] if args.key?(:create_time)
748
+ @instance_type = args[:instance_type] if args.key?(:instance_type)
749
+ @labels = args[:labels] if args.key?(:labels)
750
+ @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names)
751
+ @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules)
752
+ @maintenance_settings = args[:maintenance_settings] if args.key?(:maintenance_settings)
753
+ @name = args[:name] if args.key?(:name)
754
+ @notification_parameters = args[:notification_parameters] if args.key?(:notification_parameters)
755
+ @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata)
756
+ @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources)
757
+ @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template)
758
+ @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata)
759
+ @software_versions = args[:software_versions] if args.key?(:software_versions)
760
+ @state = args[:state] if args.key?(:state)
761
+ @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id)
762
+ @update_time = args[:update_time] if args.key?(:update_time)
763
+ end
764
+ end
765
+
376
766
  # JsonSchema representation of schema metadata
377
767
  class JsonSchema
378
768
  include Google::Apis::Core::Hashable
@@ -540,6 +930,298 @@ module Google
540
930
  end
541
931
  end
542
932
 
933
+ # LINT.IfChange Defines policies to service maintenance events.
934
+ class MaintenancePolicy
935
+ include Google::Apis::Core::Hashable
936
+
937
+ # Output only. The time when the resource was created.
938
+ # Corresponds to the JSON property `createTime`
939
+ # @return [String]
940
+ attr_accessor :create_time
941
+
942
+ # Optional. Description of what this policy is for. Create/Update methods return
943
+ # INVALID_ARGUMENT if the length is greater than 512.
944
+ # Corresponds to the JSON property `description`
945
+ # @return [String]
946
+ attr_accessor :description
947
+
948
+ # Optional. Resource labels to represent user provided metadata. Each label is a
949
+ # key-value pair, where both the key and the value are arbitrary strings
950
+ # provided by the user.
951
+ # Corresponds to the JSON property `labels`
952
+ # @return [Hash<String,String>]
953
+ attr_accessor :labels
954
+
955
+ # Required. MaintenancePolicy name using the form: `projects/`project_id`/
956
+ # locations/`location_id`/maintenancePolicies/`maintenance_policy_id`` where `
957
+ # project_id` refers to a GCP consumer project ID, `location_id` refers to a GCP
958
+ # region/zone, `maintenance_policy_id` must be 1-63 characters long and match
959
+ # the regular expression `[a-z0-9]([-a-z0-9]*[a-z0-9])?`.
960
+ # Corresponds to the JSON property `name`
961
+ # @return [String]
962
+ attr_accessor :name
963
+
964
+ # Optional. The state of the policy.
965
+ # Corresponds to the JSON property `state`
966
+ # @return [String]
967
+ attr_accessor :state
968
+
969
+ # Maintenance policy applicable to instance updates.
970
+ # Corresponds to the JSON property `updatePolicy`
971
+ # @return [Google::Apis::ConnectorsV2::UpdatePolicy]
972
+ attr_accessor :update_policy
973
+
974
+ # Output only. The time when the resource was updated.
975
+ # Corresponds to the JSON property `updateTime`
976
+ # @return [String]
977
+ attr_accessor :update_time
978
+
979
+ def initialize(**args)
980
+ update!(**args)
981
+ end
982
+
983
+ # Update properties of this object
984
+ def update!(**args)
985
+ @create_time = args[:create_time] if args.key?(:create_time)
986
+ @description = args[:description] if args.key?(:description)
987
+ @labels = args[:labels] if args.key?(:labels)
988
+ @name = args[:name] if args.key?(:name)
989
+ @state = args[:state] if args.key?(:state)
990
+ @update_policy = args[:update_policy] if args.key?(:update_policy)
991
+ @update_time = args[:update_time] if args.key?(:update_time)
992
+ end
993
+ end
994
+
995
+ # Maintenance schedule which is exposed to customer and potentially end user,
996
+ # indicating published upcoming future maintenance schedule
997
+ class MaintenanceSchedule
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ # This field is deprecated, and will be always set to true since reschedule can
1001
+ # happen multiple times now. This field should not be removed until all service
1002
+ # producers remove this for their customers.
1003
+ # Corresponds to the JSON property `canReschedule`
1004
+ # @return [Boolean]
1005
+ attr_accessor :can_reschedule
1006
+ alias_method :can_reschedule?, :can_reschedule
1007
+
1008
+ # The scheduled end time for the maintenance.
1009
+ # Corresponds to the JSON property `endTime`
1010
+ # @return [String]
1011
+ attr_accessor :end_time
1012
+
1013
+ # The rollout management policy this maintenance schedule is associated with.
1014
+ # When doing reschedule update request, the reschedule should be against this
1015
+ # given policy.
1016
+ # Corresponds to the JSON property `rolloutManagementPolicy`
1017
+ # @return [String]
1018
+ attr_accessor :rollout_management_policy
1019
+
1020
+ # schedule_deadline_time is the time deadline any schedule start time cannot go
1021
+ # beyond, including reschedule. It's normally the initial schedule start time
1022
+ # plus maintenance window length (1 day or 1 week). Maintenance cannot be
1023
+ # scheduled to start beyond this deadline.
1024
+ # Corresponds to the JSON property `scheduleDeadlineTime`
1025
+ # @return [String]
1026
+ attr_accessor :schedule_deadline_time
1027
+
1028
+ # The scheduled start time for the maintenance.
1029
+ # Corresponds to the JSON property `startTime`
1030
+ # @return [String]
1031
+ attr_accessor :start_time
1032
+
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1036
+
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
1040
+ @end_time = args[:end_time] if args.key?(:end_time)
1041
+ @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy)
1042
+ @schedule_deadline_time = args[:schedule_deadline_time] if args.key?(:schedule_deadline_time)
1043
+ @start_time = args[:start_time] if args.key?(:start_time)
1044
+ end
1045
+ end
1046
+
1047
+ # Maintenance settings associated with instance. Allows service producers and
1048
+ # end users to assign settings that controls maintenance on this instance.
1049
+ class MaintenanceSettings
1050
+ include Google::Apis::Core::Hashable
1051
+
1052
+ # Optional. Exclude instance from maintenance. When true, rollout service will
1053
+ # not attempt maintenance on the instance. Rollout service will include the
1054
+ # instance in reported rollout progress as not attempted.
1055
+ # Corresponds to the JSON property `exclude`
1056
+ # @return [Boolean]
1057
+ attr_accessor :exclude
1058
+ alias_method :exclude?, :exclude
1059
+
1060
+ # Optional. If the update call is triggered from rollback, set the value as true.
1061
+ # Corresponds to the JSON property `isRollback`
1062
+ # @return [Boolean]
1063
+ attr_accessor :is_rollback
1064
+ alias_method :is_rollback?, :is_rollback
1065
+
1066
+ # Optional. The MaintenancePolicies that have been attached to the instance. The
1067
+ # key must be of the type name of the oneof policy name defined in
1068
+ # MaintenancePolicy, and the embedded policy must define the same policy type.
1069
+ # For details, please refer to go/mr-user-guide. Should not be set if
1070
+ # maintenance_policy_names is set. If only the name is needed, then only
1071
+ # populate MaintenancePolicy.name.
1072
+ # Corresponds to the JSON property `maintenancePolicies`
1073
+ # @return [Hash<String,Google::Apis::ConnectorsV2::MaintenancePolicy>]
1074
+ attr_accessor :maintenance_policies
1075
+
1076
+ def initialize(**args)
1077
+ update!(**args)
1078
+ end
1079
+
1080
+ # Update properties of this object
1081
+ def update!(**args)
1082
+ @exclude = args[:exclude] if args.key?(:exclude)
1083
+ @is_rollback = args[:is_rollback] if args.key?(:is_rollback)
1084
+ @maintenance_policies = args[:maintenance_policies] if args.key?(:maintenance_policies)
1085
+ end
1086
+ end
1087
+
1088
+ # MaintenanceWindow definition.
1089
+ class MaintenanceWindow
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # Time window specified for daily operations.
1093
+ # Corresponds to the JSON property `dailyCycle`
1094
+ # @return [Google::Apis::ConnectorsV2::DailyCycle]
1095
+ attr_accessor :daily_cycle
1096
+
1097
+ # Time window specified for weekly operations.
1098
+ # Corresponds to the JSON property `weeklyCycle`
1099
+ # @return [Google::Apis::ConnectorsV2::WeeklyCycle]
1100
+ attr_accessor :weekly_cycle
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @daily_cycle = args[:daily_cycle] if args.key?(:daily_cycle)
1109
+ @weekly_cycle = args[:weekly_cycle] if args.key?(:weekly_cycle)
1110
+ end
1111
+ end
1112
+
1113
+ # Node information for custom per-node SLO implementations. SSA does not support
1114
+ # per-node SLO, but producers can populate per-node information in SloMetadata
1115
+ # for custom precomputations. SSA Eligibility Exporter will emit per-node metric
1116
+ # based on this information.
1117
+ class NodeSloMetadata
1118
+ include Google::Apis::Core::Hashable
1119
+
1120
+ # The location of the node, if different from instance location.
1121
+ # Corresponds to the JSON property `location`
1122
+ # @return [String]
1123
+ attr_accessor :location
1124
+
1125
+ # The id of the node. This should be equal to SaasInstanceNode.node_id.
1126
+ # Corresponds to the JSON property `nodeId`
1127
+ # @return [String]
1128
+ attr_accessor :node_id
1129
+
1130
+ # PerSliSloEligibility is a mapping from an SLI name to eligibility.
1131
+ # Corresponds to the JSON property `perSliEligibility`
1132
+ # @return [Google::Apis::ConnectorsV2::PerSliSloEligibility]
1133
+ attr_accessor :per_sli_eligibility
1134
+
1135
+ def initialize(**args)
1136
+ update!(**args)
1137
+ end
1138
+
1139
+ # Update properties of this object
1140
+ def update!(**args)
1141
+ @location = args[:location] if args.key?(:location)
1142
+ @node_id = args[:node_id] if args.key?(:node_id)
1143
+ @per_sli_eligibility = args[:per_sli_eligibility] if args.key?(:per_sli_eligibility)
1144
+ end
1145
+ end
1146
+
1147
+ # Contains notification related data.
1148
+ class NotificationParameter
1149
+ include Google::Apis::Core::Hashable
1150
+
1151
+ # Optional. Array of string values. e.g. instance's replica information.
1152
+ # Corresponds to the JSON property `values`
1153
+ # @return [Array<String>]
1154
+ attr_accessor :values
1155
+
1156
+ def initialize(**args)
1157
+ update!(**args)
1158
+ end
1159
+
1160
+ # Update properties of this object
1161
+ def update!(**args)
1162
+ @values = args[:values] if args.key?(:values)
1163
+ end
1164
+ end
1165
+
1166
+ # PerSliSloEligibility is a mapping from an SLI name to eligibility.
1167
+ class PerSliSloEligibility
1168
+ include Google::Apis::Core::Hashable
1169
+
1170
+ # An entry in the eligibilities map specifies an eligibility for a particular
1171
+ # SLI for the given instance. The SLI key in the name must be a valid SLI name
1172
+ # specified in the Eligibility Exporter binary flags otherwise an error will be
1173
+ # emitted by Eligibility Exporter and the oncaller will be alerted. If an SLI
1174
+ # has been defined in the binary flags but the eligibilities map does not
1175
+ # contain it, the corresponding SLI time series will not be emitted by the
1176
+ # Eligibility Exporter. This ensures a smooth rollout and compatibility between
1177
+ # the data produced by different versions of the Eligibility Exporters. If
1178
+ # eligibilities map contains a key for an SLI which has not been declared in the
1179
+ # binary flags, there will be an error message emitted in the Eligibility
1180
+ # Exporter log and the metric for the SLI in question will not be emitted.
1181
+ # Corresponds to the JSON property `eligibilities`
1182
+ # @return [Hash<String,Google::Apis::ConnectorsV2::SloEligibility>]
1183
+ attr_accessor :eligibilities
1184
+
1185
+ def initialize(**args)
1186
+ update!(**args)
1187
+ end
1188
+
1189
+ # Update properties of this object
1190
+ def update!(**args)
1191
+ @eligibilities = args[:eligibilities] if args.key?(:eligibilities)
1192
+ end
1193
+ end
1194
+
1195
+ # Describes provisioned dataplane resources.
1196
+ class ProvisionedResource
1197
+ include Google::Apis::Core::Hashable
1198
+
1199
+ # Type of the resource. This can be either a GCP resource or a custom one (e.g.
1200
+ # another cloud provider's VM). For GCP compute resources use singular form of
1201
+ # the names listed in GCP compute API documentation (https://cloud.google.com/
1202
+ # compute/docs/reference/rest/v1/), prefixed with 'compute-', for example: '
1203
+ # compute-instance', 'compute-disk', 'compute-autoscaler'.
1204
+ # Corresponds to the JSON property `resourceType`
1205
+ # @return [String]
1206
+ attr_accessor :resource_type
1207
+
1208
+ # URL identifying the resource, e.g. "https://www.googleapis.com/compute/v1/
1209
+ # projects/...)".
1210
+ # Corresponds to the JSON property `resourceUrl`
1211
+ # @return [String]
1212
+ attr_accessor :resource_url
1213
+
1214
+ def initialize(**args)
1215
+ update!(**args)
1216
+ end
1217
+
1218
+ # Update properties of this object
1219
+ def update!(**args)
1220
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
1221
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
1222
+ end
1223
+ end
1224
+
543
1225
  # A wrapper around the SQL query statement. This is needed so that the JSON
544
1226
  # representation of ExecuteSqlQueryRequest has the following format: ``"query":"
545
1227
  # select *"``.
@@ -631,6 +1313,40 @@ module Google
631
1313
  end
632
1314
  end
633
1315
 
1316
+ # RefreshAccessTokenRequest currently includes no fields.
1317
+ class RefreshAccessTokenRequest
1318
+ include Google::Apis::Core::Hashable
1319
+
1320
+ def initialize(**args)
1321
+ update!(**args)
1322
+ end
1323
+
1324
+ # Update properties of this object
1325
+ def update!(**args)
1326
+ end
1327
+ end
1328
+
1329
+ # RefreshAccessTokenResponse includes the returned access token and its
1330
+ # associated credentials.
1331
+ class RefreshAccessTokenResponse
1332
+ include Google::Apis::Core::Hashable
1333
+
1334
+ # AccessCredentials includes the OAuth access token, and the other fields
1335
+ # returned along with it.
1336
+ # Corresponds to the JSON property `accessCredentials`
1337
+ # @return [Google::Apis::ConnectorsV2::AccessCredentials]
1338
+ attr_accessor :access_credentials
1339
+
1340
+ def initialize(**args)
1341
+ update!(**args)
1342
+ end
1343
+
1344
+ # Update properties of this object
1345
+ def update!(**args)
1346
+ @access_credentials = args[:access_credentials] if args.key?(:access_credentials)
1347
+ end
1348
+ end
1349
+
634
1350
  # Result Metadata message contains metadata about the result returned after
635
1351
  # executing an Action.
636
1352
  class ResultMetadata
@@ -669,6 +1385,146 @@ module Google
669
1385
  end
670
1386
  end
671
1387
 
1388
+ # Configure the schedule.
1389
+ class Schedule
1390
+ include Google::Apis::Core::Hashable
1391
+
1392
+ # Allows to define schedule that runs specified day of the week.
1393
+ # Corresponds to the JSON property `day`
1394
+ # @return [String]
1395
+ attr_accessor :day
1396
+
1397
+ # Output only. Duration of the time window, set by service producer.
1398
+ # Corresponds to the JSON property `duration`
1399
+ # @return [String]
1400
+ attr_accessor :duration
1401
+
1402
+ # Represents a time of day. The date and time zone are either not significant or
1403
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1404
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1405
+ # Corresponds to the JSON property `startTime`
1406
+ # @return [Google::Apis::ConnectorsV2::TimeOfDay]
1407
+ attr_accessor :start_time
1408
+
1409
+ def initialize(**args)
1410
+ update!(**args)
1411
+ end
1412
+
1413
+ # Update properties of this object
1414
+ def update!(**args)
1415
+ @day = args[:day] if args.key?(:day)
1416
+ @duration = args[:duration] if args.key?(:duration)
1417
+ @start_time = args[:start_time] if args.key?(:start_time)
1418
+ end
1419
+ end
1420
+
1421
+ # SloEligibility is a tuple containing eligibility value: true if an instance is
1422
+ # eligible for SLO calculation or false if it should be excluded from all SLO-
1423
+ # related calculations along with a user-defined reason.
1424
+ class SloEligibility
1425
+ include Google::Apis::Core::Hashable
1426
+
1427
+ # Whether an instance is eligible or ineligible.
1428
+ # Corresponds to the JSON property `eligible`
1429
+ # @return [Boolean]
1430
+ attr_accessor :eligible
1431
+ alias_method :eligible?, :eligible
1432
+
1433
+ # User-defined reason for the current value of instance eligibility. Usually,
1434
+ # this can be directly mapped to the internal state. An empty reason is allowed.
1435
+ # Corresponds to the JSON property `reason`
1436
+ # @return [String]
1437
+ attr_accessor :reason
1438
+
1439
+ def initialize(**args)
1440
+ update!(**args)
1441
+ end
1442
+
1443
+ # Update properties of this object
1444
+ def update!(**args)
1445
+ @eligible = args[:eligible] if args.key?(:eligible)
1446
+ @reason = args[:reason] if args.key?(:reason)
1447
+ end
1448
+ end
1449
+
1450
+ # SloMetadata contains resources required for proper SLO classification of the
1451
+ # instance.
1452
+ class SloMetadata
1453
+ include Google::Apis::Core::Hashable
1454
+
1455
+ # Optional. List of nodes. Some producers need to use per-node metadata to
1456
+ # calculate SLO. This field allows such producers to publish per-node SLO meta
1457
+ # data, which will be consumed by SSA Eligibility Exporter and published in the
1458
+ # form of per node metric to Monarch.
1459
+ # Corresponds to the JSON property `nodes`
1460
+ # @return [Array<Google::Apis::ConnectorsV2::NodeSloMetadata>]
1461
+ attr_accessor :nodes
1462
+
1463
+ # PerSliSloEligibility is a mapping from an SLI name to eligibility.
1464
+ # Corresponds to the JSON property `perSliEligibility`
1465
+ # @return [Google::Apis::ConnectorsV2::PerSliSloEligibility]
1466
+ attr_accessor :per_sli_eligibility
1467
+
1468
+ # Name of the SLO tier the Instance belongs to. This name will be expected to
1469
+ # match the tiers specified in the service SLO configuration. Field is mandatory
1470
+ # and must not be empty.
1471
+ # Corresponds to the JSON property `tier`
1472
+ # @return [String]
1473
+ attr_accessor :tier
1474
+
1475
+ def initialize(**args)
1476
+ update!(**args)
1477
+ end
1478
+
1479
+ # Update properties of this object
1480
+ def update!(**args)
1481
+ @nodes = args[:nodes] if args.key?(:nodes)
1482
+ @per_sli_eligibility = args[:per_sli_eligibility] if args.key?(:per_sli_eligibility)
1483
+ @tier = args[:tier] if args.key?(:tier)
1484
+ end
1485
+ end
1486
+
1487
+ # Represents a time of day. The date and time zone are either not significant or
1488
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1489
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1490
+ class TimeOfDay
1491
+ include Google::Apis::Core::Hashable
1492
+
1493
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
1494
+ # allow the value "24:00:00" for scenarios like business closing time.
1495
+ # Corresponds to the JSON property `hours`
1496
+ # @return [Fixnum]
1497
+ attr_accessor :hours
1498
+
1499
+ # Minutes of hour of day. Must be from 0 to 59.
1500
+ # Corresponds to the JSON property `minutes`
1501
+ # @return [Fixnum]
1502
+ attr_accessor :minutes
1503
+
1504
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1505
+ # Corresponds to the JSON property `nanos`
1506
+ # @return [Fixnum]
1507
+ attr_accessor :nanos
1508
+
1509
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1510
+ # allow the value 60 if it allows leap-seconds.
1511
+ # Corresponds to the JSON property `seconds`
1512
+ # @return [Fixnum]
1513
+ attr_accessor :seconds
1514
+
1515
+ def initialize(**args)
1516
+ update!(**args)
1517
+ end
1518
+
1519
+ # Update properties of this object
1520
+ def update!(**args)
1521
+ @hours = args[:hours] if args.key?(:hours)
1522
+ @minutes = args[:minutes] if args.key?(:minutes)
1523
+ @nanos = args[:nanos] if args.key?(:nanos)
1524
+ @seconds = args[:seconds] if args.key?(:seconds)
1525
+ end
1526
+ end
1527
+
672
1528
  # Response message for EntityService.UpdateEntitiesWithConditions
673
1529
  class UpdateEntitiesWithConditionsResponse
674
1530
  include Google::Apis::Core::Hashable
@@ -687,6 +1543,58 @@ module Google
687
1543
  @response = args[:response] if args.key?(:response)
688
1544
  end
689
1545
  end
1546
+
1547
+ # Maintenance policy applicable to instance updates.
1548
+ class UpdatePolicy
1549
+ include Google::Apis::Core::Hashable
1550
+
1551
+ # Optional. Relative scheduling channel applied to resource.
1552
+ # Corresponds to the JSON property `channel`
1553
+ # @return [String]
1554
+ attr_accessor :channel
1555
+
1556
+ # Deny Maintenance Period that is applied to resource to indicate when
1557
+ # maintenance is forbidden. The protocol supports zero-to-many such periods, but
1558
+ # the current SLM Rollout implementation only supports zero-to-one.
1559
+ # Corresponds to the JSON property `denyMaintenancePeriods`
1560
+ # @return [Array<Google::Apis::ConnectorsV2::DenyMaintenancePeriod>]
1561
+ attr_accessor :deny_maintenance_periods
1562
+
1563
+ # MaintenanceWindow definition.
1564
+ # Corresponds to the JSON property `window`
1565
+ # @return [Google::Apis::ConnectorsV2::MaintenanceWindow]
1566
+ attr_accessor :window
1567
+
1568
+ def initialize(**args)
1569
+ update!(**args)
1570
+ end
1571
+
1572
+ # Update properties of this object
1573
+ def update!(**args)
1574
+ @channel = args[:channel] if args.key?(:channel)
1575
+ @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
1576
+ @window = args[:window] if args.key?(:window)
1577
+ end
1578
+ end
1579
+
1580
+ # Time window specified for weekly operations.
1581
+ class WeeklyCycle
1582
+ include Google::Apis::Core::Hashable
1583
+
1584
+ # User can specify multiple windows in a week. Minimum of 1 window.
1585
+ # Corresponds to the JSON property `schedule`
1586
+ # @return [Array<Google::Apis::ConnectorsV2::Schedule>]
1587
+ attr_accessor :schedule
1588
+
1589
+ def initialize(**args)
1590
+ update!(**args)
1591
+ end
1592
+
1593
+ # Update properties of this object
1594
+ def update!(**args)
1595
+ @schedule = args[:schedule] if args.key?(:schedule)
1596
+ end
1597
+ end
690
1598
  end
691
1599
  end
692
1600
  end