google-apis-connectors_v1 0.46.0 → 0.47.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -281,21 +281,43 @@ module Google
281
281
  # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
282
282
  # email address that represents a Google group. For example, `admins@example.com`
283
283
  # . * `domain:`domain``: The G Suite domain (primary) that represents all the
284
- # users of that domain. For example, `google.com` or `example.com`. * `deleted:
285
- # user:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
286
- # representing a user that has been recently deleted. For example, `alice@
287
- # example.com?uid=123456789012345678901`. If the user is recovered, this value
288
- # reverts to `user:`emailid`` and the recovered user retains the role in the
289
- # binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address
290
- # (plus unique identifier) representing a service account that has been recently
291
- # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
284
+ # users of that domain. For example, `google.com` or `example.com`. * `principal:
285
+ # //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
286
+ # subject_attribute_value``: A single identity in a workforce identity pool. * `
287
+ # principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
288
+ # group/`group_id``: All workforce identities in a group. * `principalSet://iam.
289
+ # googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
290
+ # attribute_name`/`attribute_value``: All workforce identities with a specific
291
+ # attribute value. * `principalSet://iam.googleapis.com/locations/global/
292
+ # workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
293
+ # principal://iam.googleapis.com/projects/`project_number`/locations/global/
294
+ # workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
295
+ # identity in a workload identity pool. * `principalSet://iam.googleapis.com/
296
+ # projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
297
+ # group/`group_id``: A workload identity pool group. * `principalSet://iam.
298
+ # googleapis.com/projects/`project_number`/locations/global/
299
+ # workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
300
+ # All identities in a workload identity pool with a certain attribute. * `
301
+ # principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
302
+ # workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
303
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
304
+ # identifier) representing a user that has been recently deleted. For example, `
305
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
306
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
307
+ # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
308
+ # address (plus unique identifier) representing a service account that has been
309
+ # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
292
310
  # 123456789012345678901`. If the service account is undeleted, this value
293
311
  # reverts to `serviceAccount:`emailid`` and the undeleted service account
294
312
  # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
295
313
  # An email address (plus unique identifier) representing a Google group that has
296
314
  # been recently deleted. For example, `admins@example.com?uid=
297
315
  # 123456789012345678901`. If the group is recovered, this value reverts to `
298
- # group:`emailid`` and the recovered group retains the role in the binding.
316
+ # group:`emailid`` and the recovered group retains the role in the binding. * `
317
+ # deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
318
+ # pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
319
+ # workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
320
+ # locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
299
321
  # Corresponds to the JSON property `members`
300
322
  # @return [Array<String>]
301
323
  attr_accessor :members
@@ -1269,6 +1291,122 @@ module Google
1269
1291
  end
1270
1292
  end
1271
1293
 
1294
+ # Time window specified for daily operations.
1295
+ class DailyCycle
1296
+ include Google::Apis::Core::Hashable
1297
+
1298
+ # Output only. Duration of the time window, set by service producer.
1299
+ # Corresponds to the JSON property `duration`
1300
+ # @return [String]
1301
+ attr_accessor :duration
1302
+
1303
+ # Represents a time of day. The date and time zone are either not significant or
1304
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1305
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1306
+ # Corresponds to the JSON property `startTime`
1307
+ # @return [Google::Apis::ConnectorsV1::TimeOfDay]
1308
+ attr_accessor :start_time
1309
+
1310
+ def initialize(**args)
1311
+ update!(**args)
1312
+ end
1313
+
1314
+ # Update properties of this object
1315
+ def update!(**args)
1316
+ @duration = args[:duration] if args.key?(:duration)
1317
+ @start_time = args[:start_time] if args.key?(:start_time)
1318
+ end
1319
+ end
1320
+
1321
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1322
+ # day and time zone are either specified elsewhere or are insignificant. The
1323
+ # date is relative to the Gregorian Calendar. This can represent one of the
1324
+ # following: * A full date, with non-zero year, month, and day values. * A month
1325
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1326
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1327
+ # example, a credit card expiration date). Related types: * google.type.
1328
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1329
+ class Date
1330
+ include Google::Apis::Core::Hashable
1331
+
1332
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
1333
+ # specify a year by itself or a year and month where the day isn't significant.
1334
+ # Corresponds to the JSON property `day`
1335
+ # @return [Fixnum]
1336
+ attr_accessor :day
1337
+
1338
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
1339
+ # and day.
1340
+ # Corresponds to the JSON property `month`
1341
+ # @return [Fixnum]
1342
+ attr_accessor :month
1343
+
1344
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
1345
+ # year.
1346
+ # Corresponds to the JSON property `year`
1347
+ # @return [Fixnum]
1348
+ attr_accessor :year
1349
+
1350
+ def initialize(**args)
1351
+ update!(**args)
1352
+ end
1353
+
1354
+ # Update properties of this object
1355
+ def update!(**args)
1356
+ @day = args[:day] if args.key?(:day)
1357
+ @month = args[:month] if args.key?(:month)
1358
+ @year = args[:year] if args.key?(:year)
1359
+ end
1360
+ end
1361
+
1362
+ # DenyMaintenancePeriod definition. Maintenance is forbidden within the deny
1363
+ # period. The start_date must be less than the end_date.
1364
+ class DenyMaintenancePeriod
1365
+ include Google::Apis::Core::Hashable
1366
+
1367
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1368
+ # day and time zone are either specified elsewhere or are insignificant. The
1369
+ # date is relative to the Gregorian Calendar. This can represent one of the
1370
+ # following: * A full date, with non-zero year, month, and day values. * A month
1371
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1372
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1373
+ # example, a credit card expiration date). Related types: * google.type.
1374
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1375
+ # Corresponds to the JSON property `endDate`
1376
+ # @return [Google::Apis::ConnectorsV1::Date]
1377
+ attr_accessor :end_date
1378
+
1379
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1380
+ # day and time zone are either specified elsewhere or are insignificant. The
1381
+ # date is relative to the Gregorian Calendar. This can represent one of the
1382
+ # following: * A full date, with non-zero year, month, and day values. * A month
1383
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1384
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1385
+ # example, a credit card expiration date). Related types: * google.type.
1386
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1387
+ # Corresponds to the JSON property `startDate`
1388
+ # @return [Google::Apis::ConnectorsV1::Date]
1389
+ attr_accessor :start_date
1390
+
1391
+ # Represents a time of day. The date and time zone are either not significant or
1392
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1393
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1394
+ # Corresponds to the JSON property `time`
1395
+ # @return [Google::Apis::ConnectorsV1::TimeOfDay]
1396
+ attr_accessor :time
1397
+
1398
+ def initialize(**args)
1399
+ update!(**args)
1400
+ end
1401
+
1402
+ # Update properties of this object
1403
+ def update!(**args)
1404
+ @end_date = args[:end_date] if args.key?(:end_date)
1405
+ @start_date = args[:start_date] if args.key?(:start_date)
1406
+ @time = args[:time] if args.key?(:time)
1407
+ end
1408
+ end
1409
+
1272
1410
  #
1273
1411
  class Destination
1274
1412
  include Google::Apis::Core::Hashable
@@ -2370,6 +2508,169 @@ module Google
2370
2508
  end
2371
2509
  end
2372
2510
 
2511
+ # Instance represents the interface for SLM services to actuate the state of
2512
+ # control plane resources. Example Instance in JSON, where consumer-project-
2513
+ # number=123456, producer-project-id=cloud-sql: ```json Instance: ` "name": "
2514
+ # projects/123456/locations/us-east1/instances/prod-instance", "create_time": ` "
2515
+ # seconds": 1526406431, `, "labels": ` "env": "prod", "foo": "bar" `, "state":
2516
+ # READY, "software_versions": ` "software_update": "cloud-sql-09-28-2018", `, "
2517
+ # maintenance_policy_names": ` "UpdatePolicy": "projects/123456/locations/us-
2518
+ # east1/maintenancePolicies/prod-update-policy", ` "tenant_project_id": "cloud-
2519
+ # sql-test-tenant", "producer_metadata": ` "cloud-sql-tier": "basic", "cloud-sql-
2520
+ # instance-size": "1G", `, "provisioned_resources": [ ` "resource-type": "
2521
+ # compute-instance", "resource-url": "https://www.googleapis.com/compute/v1/
2522
+ # projects/cloud-sql/zones/us-east1-b/instances/vm-1", ` ], "
2523
+ # maintenance_schedules": ` "csa_rollout": ` "start_time": ` "seconds":
2524
+ # 1526406431, `, "end_time": ` "seconds": 1535406431, `, `, "ncsa_rollout": ` "
2525
+ # start_time": ` "seconds": 1526406431, `, "end_time": ` "seconds": 1535406431, `
2526
+ # , ` `, "consumer_defined_name": "my-sql-instance1", ` ``` LINT.IfChange
2527
+ class Instance
2528
+ include Google::Apis::Core::Hashable
2529
+
2530
+ # consumer_defined_name is the name of the instance set by the service consumers.
2531
+ # Generally this is different from the `name` field which reperesents the
2532
+ # system-assigned id of the instance which the service consumers do not
2533
+ # recognize. This is a required field for tenants onboarding to Maintenance
2534
+ # Window notifications (go/slm-rollout-maintenance-policies#prerequisites).
2535
+ # Corresponds to the JSON property `consumerDefinedName`
2536
+ # @return [String]
2537
+ attr_accessor :consumer_defined_name
2538
+
2539
+ # Output only. Timestamp when the resource was created.
2540
+ # Corresponds to the JSON property `createTime`
2541
+ # @return [String]
2542
+ attr_accessor :create_time
2543
+
2544
+ # Optional. The instance_type of this instance of format: projects/`
2545
+ # project_number`/locations/`location_id`/instanceTypes/`instance_type_id`.
2546
+ # Instance Type represents a high-level tier or SKU of the service that this
2547
+ # instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses '
2548
+ # instance_type' along with 'software_versions' to determine whether instance
2549
+ # needs an update or not.
2550
+ # Corresponds to the JSON property `instanceType`
2551
+ # @return [String]
2552
+ attr_accessor :instance_type
2553
+
2554
+ # Optional. Resource labels to represent user provided metadata. Each label is a
2555
+ # key-value pair, where both the key and the value are arbitrary strings
2556
+ # provided by the user.
2557
+ # Corresponds to the JSON property `labels`
2558
+ # @return [Hash<String,String>]
2559
+ attr_accessor :labels
2560
+
2561
+ # Optional. The MaintenancePolicies that have been attached to the instance. The
2562
+ # key must be of the type name of the oneof policy name defined in
2563
+ # MaintenancePolicy, and the referenced policy must define the same policy type.
2564
+ # For details, please refer to go/mr-user-guide. Should not be set if
2565
+ # maintenance_settings.maintenance_policies is set.
2566
+ # Corresponds to the JSON property `maintenancePolicyNames`
2567
+ # @return [Hash<String,String>]
2568
+ attr_accessor :maintenance_policy_names
2569
+
2570
+ # The MaintenanceSchedule contains the scheduling information of published
2571
+ # maintenance schedule with same key as software_versions.
2572
+ # Corresponds to the JSON property `maintenanceSchedules`
2573
+ # @return [Hash<String,Google::Apis::ConnectorsV1::MaintenanceSchedule>]
2574
+ attr_accessor :maintenance_schedules
2575
+
2576
+ # Maintenance settings associated with instance. Allows service producers and
2577
+ # end users to assign settings that controls maintenance on this instance.
2578
+ # Corresponds to the JSON property `maintenanceSettings`
2579
+ # @return [Google::Apis::ConnectorsV1::MaintenanceSettings]
2580
+ attr_accessor :maintenance_settings
2581
+
2582
+ # Unique name of the resource. It uses the form: `projects/`project_number`/
2583
+ # locations/`location_id`/instances/`instance_id`` Note: This name is passed,
2584
+ # stored and logged across the rollout system. So use of consumer project_id or
2585
+ # any other consumer PII in the name is strongly discouraged for wipeout (go/
2586
+ # wipeout) compliance. See go/elysium/project_ids#storage-guidance for more
2587
+ # details.
2588
+ # Corresponds to the JSON property `name`
2589
+ # @return [String]
2590
+ attr_accessor :name
2591
+
2592
+ # Optional. notification_parameter are information that service producers may
2593
+ # like to include that is not relevant to Rollout. This parameter will only be
2594
+ # passed to Gamma and Cloud Logging for notification/logging purpose.
2595
+ # Corresponds to the JSON property `notificationParameters`
2596
+ # @return [Hash<String,Google::Apis::ConnectorsV1::NotificationParameter>]
2597
+ attr_accessor :notification_parameters
2598
+
2599
+ # Output only. Custom string attributes used primarily to expose producer-
2600
+ # specific information in monitoring dashboards. See go/get-instance-metadata.
2601
+ # Corresponds to the JSON property `producerMetadata`
2602
+ # @return [Hash<String,String>]
2603
+ attr_accessor :producer_metadata
2604
+
2605
+ # Output only. The list of data plane resources provisioned for this instance, e.
2606
+ # g. compute VMs. See go/get-instance-metadata.
2607
+ # Corresponds to the JSON property `provisionedResources`
2608
+ # @return [Array<Google::Apis::ConnectorsV1::ProvisionedResource>]
2609
+ attr_accessor :provisioned_resources
2610
+
2611
+ # Link to the SLM instance template. Only populated when updating SLM instances
2612
+ # via SSA's Actuation service adaptor. Service producers with custom control
2613
+ # plane (e.g. Cloud SQL) doesn't need to populate this field. Instead they
2614
+ # should use software_versions.
2615
+ # Corresponds to the JSON property `slmInstanceTemplate`
2616
+ # @return [String]
2617
+ attr_accessor :slm_instance_template
2618
+
2619
+ # SloMetadata contains resources required for proper SLO classification of the
2620
+ # instance.
2621
+ # Corresponds to the JSON property `sloMetadata`
2622
+ # @return [Google::Apis::ConnectorsV1::SloMetadata]
2623
+ attr_accessor :slo_metadata
2624
+
2625
+ # Software versions that are used to deploy this instance. This can be mutated
2626
+ # by rollout services.
2627
+ # Corresponds to the JSON property `softwareVersions`
2628
+ # @return [Hash<String,String>]
2629
+ attr_accessor :software_versions
2630
+
2631
+ # Output only. Current lifecycle state of the resource (e.g. if it's being
2632
+ # created or ready to use).
2633
+ # Corresponds to the JSON property `state`
2634
+ # @return [String]
2635
+ attr_accessor :state
2636
+
2637
+ # Output only. ID of the associated GCP tenant project. See go/get-instance-
2638
+ # metadata.
2639
+ # Corresponds to the JSON property `tenantProjectId`
2640
+ # @return [String]
2641
+ attr_accessor :tenant_project_id
2642
+
2643
+ # Output only. Timestamp when the resource was last modified.
2644
+ # Corresponds to the JSON property `updateTime`
2645
+ # @return [String]
2646
+ attr_accessor :update_time
2647
+
2648
+ def initialize(**args)
2649
+ update!(**args)
2650
+ end
2651
+
2652
+ # Update properties of this object
2653
+ def update!(**args)
2654
+ @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name)
2655
+ @create_time = args[:create_time] if args.key?(:create_time)
2656
+ @instance_type = args[:instance_type] if args.key?(:instance_type)
2657
+ @labels = args[:labels] if args.key?(:labels)
2658
+ @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names)
2659
+ @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules)
2660
+ @maintenance_settings = args[:maintenance_settings] if args.key?(:maintenance_settings)
2661
+ @name = args[:name] if args.key?(:name)
2662
+ @notification_parameters = args[:notification_parameters] if args.key?(:notification_parameters)
2663
+ @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata)
2664
+ @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources)
2665
+ @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template)
2666
+ @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata)
2667
+ @software_versions = args[:software_versions] if args.key?(:software_versions)
2668
+ @state = args[:state] if args.key?(:state)
2669
+ @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id)
2670
+ @update_time = args[:update_time] if args.key?(:update_time)
2671
+ end
2672
+ end
2673
+
2373
2674
  # JMS message denotes the source of the event
2374
2675
  class Jms
2375
2676
  include Google::Apis::Core::Hashable
@@ -3082,6 +3383,186 @@ module Google
3082
3383
  end
3083
3384
  end
3084
3385
 
3386
+ # LINT.IfChange Defines policies to service maintenance events.
3387
+ class MaintenancePolicy
3388
+ include Google::Apis::Core::Hashable
3389
+
3390
+ # Output only. The time when the resource was created.
3391
+ # Corresponds to the JSON property `createTime`
3392
+ # @return [String]
3393
+ attr_accessor :create_time
3394
+
3395
+ # Optional. Description of what this policy is for. Create/Update methods return
3396
+ # INVALID_ARGUMENT if the length is greater than 512.
3397
+ # Corresponds to the JSON property `description`
3398
+ # @return [String]
3399
+ attr_accessor :description
3400
+
3401
+ # Optional. Resource labels to represent user provided metadata. Each label is a
3402
+ # key-value pair, where both the key and the value are arbitrary strings
3403
+ # provided by the user.
3404
+ # Corresponds to the JSON property `labels`
3405
+ # @return [Hash<String,String>]
3406
+ attr_accessor :labels
3407
+
3408
+ # Required. MaintenancePolicy name using the form: `projects/`project_id`/
3409
+ # locations/`location_id`/maintenancePolicies/`maintenance_policy_id`` where `
3410
+ # project_id` refers to a GCP consumer project ID, `location_id` refers to a GCP
3411
+ # region/zone, `maintenance_policy_id` must be 1-63 characters long and match
3412
+ # the regular expression `[a-z0-9]([-a-z0-9]*[a-z0-9])?`.
3413
+ # Corresponds to the JSON property `name`
3414
+ # @return [String]
3415
+ attr_accessor :name
3416
+
3417
+ # Optional. The state of the policy.
3418
+ # Corresponds to the JSON property `state`
3419
+ # @return [String]
3420
+ attr_accessor :state
3421
+
3422
+ # Maintenance policy applicable to instance updates.
3423
+ # Corresponds to the JSON property `updatePolicy`
3424
+ # @return [Google::Apis::ConnectorsV1::UpdatePolicy]
3425
+ attr_accessor :update_policy
3426
+
3427
+ # Output only. The time when the resource was updated.
3428
+ # Corresponds to the JSON property `updateTime`
3429
+ # @return [String]
3430
+ attr_accessor :update_time
3431
+
3432
+ def initialize(**args)
3433
+ update!(**args)
3434
+ end
3435
+
3436
+ # Update properties of this object
3437
+ def update!(**args)
3438
+ @create_time = args[:create_time] if args.key?(:create_time)
3439
+ @description = args[:description] if args.key?(:description)
3440
+ @labels = args[:labels] if args.key?(:labels)
3441
+ @name = args[:name] if args.key?(:name)
3442
+ @state = args[:state] if args.key?(:state)
3443
+ @update_policy = args[:update_policy] if args.key?(:update_policy)
3444
+ @update_time = args[:update_time] if args.key?(:update_time)
3445
+ end
3446
+ end
3447
+
3448
+ # Maintenance schedule which is exposed to customer and potentially end user,
3449
+ # indicating published upcoming future maintenance schedule
3450
+ class MaintenanceSchedule
3451
+ include Google::Apis::Core::Hashable
3452
+
3453
+ # This field is deprecated, and will be always set to true since reschedule can
3454
+ # happen multiple times now. This field should not be removed until all service
3455
+ # producers remove this for their customers.
3456
+ # Corresponds to the JSON property `canReschedule`
3457
+ # @return [Boolean]
3458
+ attr_accessor :can_reschedule
3459
+ alias_method :can_reschedule?, :can_reschedule
3460
+
3461
+ # The scheduled end time for the maintenance.
3462
+ # Corresponds to the JSON property `endTime`
3463
+ # @return [String]
3464
+ attr_accessor :end_time
3465
+
3466
+ # The rollout management policy this maintenance schedule is associated with.
3467
+ # When doing reschedule update request, the reschedule should be against this
3468
+ # given policy.
3469
+ # Corresponds to the JSON property `rolloutManagementPolicy`
3470
+ # @return [String]
3471
+ attr_accessor :rollout_management_policy
3472
+
3473
+ # schedule_deadline_time is the time deadline any schedule start time cannot go
3474
+ # beyond, including reschedule. It's normally the initial schedule start time
3475
+ # plus maintenance window length (1 day or 1 week). Maintenance cannot be
3476
+ # scheduled to start beyond this deadline.
3477
+ # Corresponds to the JSON property `scheduleDeadlineTime`
3478
+ # @return [String]
3479
+ attr_accessor :schedule_deadline_time
3480
+
3481
+ # The scheduled start time for the maintenance.
3482
+ # Corresponds to the JSON property `startTime`
3483
+ # @return [String]
3484
+ attr_accessor :start_time
3485
+
3486
+ def initialize(**args)
3487
+ update!(**args)
3488
+ end
3489
+
3490
+ # Update properties of this object
3491
+ def update!(**args)
3492
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
3493
+ @end_time = args[:end_time] if args.key?(:end_time)
3494
+ @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy)
3495
+ @schedule_deadline_time = args[:schedule_deadline_time] if args.key?(:schedule_deadline_time)
3496
+ @start_time = args[:start_time] if args.key?(:start_time)
3497
+ end
3498
+ end
3499
+
3500
+ # Maintenance settings associated with instance. Allows service producers and
3501
+ # end users to assign settings that controls maintenance on this instance.
3502
+ class MaintenanceSettings
3503
+ include Google::Apis::Core::Hashable
3504
+
3505
+ # Optional. Exclude instance from maintenance. When true, rollout service will
3506
+ # not attempt maintenance on the instance. Rollout service will include the
3507
+ # instance in reported rollout progress as not attempted.
3508
+ # Corresponds to the JSON property `exclude`
3509
+ # @return [Boolean]
3510
+ attr_accessor :exclude
3511
+ alias_method :exclude?, :exclude
3512
+
3513
+ # Optional. If the update call is triggered from rollback, set the value as true.
3514
+ # Corresponds to the JSON property `isRollback`
3515
+ # @return [Boolean]
3516
+ attr_accessor :is_rollback
3517
+ alias_method :is_rollback?, :is_rollback
3518
+
3519
+ # Optional. The MaintenancePolicies that have been attached to the instance. The
3520
+ # key must be of the type name of the oneof policy name defined in
3521
+ # MaintenancePolicy, and the embedded policy must define the same policy type.
3522
+ # For details, please refer to go/mr-user-guide. Should not be set if
3523
+ # maintenance_policy_names is set. If only the name is needed, then only
3524
+ # populate MaintenancePolicy.name.
3525
+ # Corresponds to the JSON property `maintenancePolicies`
3526
+ # @return [Hash<String,Google::Apis::ConnectorsV1::MaintenancePolicy>]
3527
+ attr_accessor :maintenance_policies
3528
+
3529
+ def initialize(**args)
3530
+ update!(**args)
3531
+ end
3532
+
3533
+ # Update properties of this object
3534
+ def update!(**args)
3535
+ @exclude = args[:exclude] if args.key?(:exclude)
3536
+ @is_rollback = args[:is_rollback] if args.key?(:is_rollback)
3537
+ @maintenance_policies = args[:maintenance_policies] if args.key?(:maintenance_policies)
3538
+ end
3539
+ end
3540
+
3541
+ # MaintenanceWindow definition.
3542
+ class MaintenanceWindow
3543
+ include Google::Apis::Core::Hashable
3544
+
3545
+ # Time window specified for daily operations.
3546
+ # Corresponds to the JSON property `dailyCycle`
3547
+ # @return [Google::Apis::ConnectorsV1::DailyCycle]
3548
+ attr_accessor :daily_cycle
3549
+
3550
+ # Time window specified for weekly operations.
3551
+ # Corresponds to the JSON property `weeklyCycle`
3552
+ # @return [Google::Apis::ConnectorsV1::WeeklyCycle]
3553
+ attr_accessor :weekly_cycle
3554
+
3555
+ def initialize(**args)
3556
+ update!(**args)
3557
+ end
3558
+
3559
+ # Update properties of this object
3560
+ def update!(**args)
3561
+ @daily_cycle = args[:daily_cycle] if args.key?(:daily_cycle)
3562
+ @weekly_cycle = args[:weekly_cycle] if args.key?(:weekly_cycle)
3563
+ end
3564
+ end
3565
+
3085
3566
  # represents the Connector's Managed Zone resource
3086
3567
  class ManagedZone
3087
3568
  include Google::Apis::Core::Hashable
@@ -3196,6 +3677,59 @@ module Google
3196
3677
  end
3197
3678
  end
3198
3679
 
3680
+ # Node information for custom per-node SLO implementations. SSA does not support
3681
+ # per-node SLO, but producers can populate per-node information in SloMetadata
3682
+ # for custom precomputations. SSA Eligibility Exporter will emit per-node metric
3683
+ # based on this information.
3684
+ class NodeSloMetadata
3685
+ include Google::Apis::Core::Hashable
3686
+
3687
+ # The location of the node, if different from instance location.
3688
+ # Corresponds to the JSON property `location`
3689
+ # @return [String]
3690
+ attr_accessor :location
3691
+
3692
+ # The id of the node. This should be equal to SaasInstanceNode.node_id.
3693
+ # Corresponds to the JSON property `nodeId`
3694
+ # @return [String]
3695
+ attr_accessor :node_id
3696
+
3697
+ # PerSliSloEligibility is a mapping from an SLI name to eligibility.
3698
+ # Corresponds to the JSON property `perSliEligibility`
3699
+ # @return [Google::Apis::ConnectorsV1::PerSliSloEligibility]
3700
+ attr_accessor :per_sli_eligibility
3701
+
3702
+ def initialize(**args)
3703
+ update!(**args)
3704
+ end
3705
+
3706
+ # Update properties of this object
3707
+ def update!(**args)
3708
+ @location = args[:location] if args.key?(:location)
3709
+ @node_id = args[:node_id] if args.key?(:node_id)
3710
+ @per_sli_eligibility = args[:per_sli_eligibility] if args.key?(:per_sli_eligibility)
3711
+ end
3712
+ end
3713
+
3714
+ # Contains notification related data.
3715
+ class NotificationParameter
3716
+ include Google::Apis::Core::Hashable
3717
+
3718
+ # Optional. Array of string values. e.g. instance's replica information.
3719
+ # Corresponds to the JSON property `values`
3720
+ # @return [Array<String>]
3721
+ attr_accessor :values
3722
+
3723
+ def initialize(**args)
3724
+ update!(**args)
3725
+ end
3726
+
3727
+ # Update properties of this object
3728
+ def update!(**args)
3729
+ @values = args[:values] if args.key?(:values)
3730
+ end
3731
+ end
3732
+
3199
3733
  # Parameters to support Oauth 2.0 Auth Code Grant Authentication. See https://
3200
3734
  # www.rfc-editor.org/rfc/rfc6749#section-1.3.1 for more details.
3201
3735
  class Oauth2AuthCodeFlow
@@ -3433,6 +3967,35 @@ module Google
3433
3967
  end
3434
3968
  end
3435
3969
 
3970
+ # PerSliSloEligibility is a mapping from an SLI name to eligibility.
3971
+ class PerSliSloEligibility
3972
+ include Google::Apis::Core::Hashable
3973
+
3974
+ # An entry in the eligibilities map specifies an eligibility for a particular
3975
+ # SLI for the given instance. The SLI key in the name must be a valid SLI name
3976
+ # specified in the Eligibility Exporter binary flags otherwise an error will be
3977
+ # emitted by Eligibility Exporter and the oncaller will be alerted. If an SLI
3978
+ # has been defined in the binary flags but the eligibilities map does not
3979
+ # contain it, the corresponding SLI time series will not be emitted by the
3980
+ # Eligibility Exporter. This ensures a smooth rollout and compatibility between
3981
+ # the data produced by different versions of the Eligibility Exporters. If
3982
+ # eligibilities map contains a key for an SLI which has not been declared in the
3983
+ # binary flags, there will be an error message emitted in the Eligibility
3984
+ # Exporter log and the metric for the SLI in question will not be emitted.
3985
+ # Corresponds to the JSON property `eligibilities`
3986
+ # @return [Hash<String,Google::Apis::ConnectorsV1::SloEligibility>]
3987
+ attr_accessor :eligibilities
3988
+
3989
+ def initialize(**args)
3990
+ update!(**args)
3991
+ end
3992
+
3993
+ # Update properties of this object
3994
+ def update!(**args)
3995
+ @eligibilities = args[:eligibilities] if args.key?(:eligibilities)
3996
+ end
3997
+ end
3998
+
3436
3999
  # An Identity and Access Management (IAM) policy, which specifies access
3437
4000
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
3438
4001
  # A `binding` binds one or more `members`, or principals, to a single `role`.
@@ -3605,6 +4168,36 @@ module Google
3605
4168
  end
3606
4169
  end
3607
4170
 
4171
+ # Describes provisioned dataplane resources.
4172
+ class ProvisionedResource
4173
+ include Google::Apis::Core::Hashable
4174
+
4175
+ # Type of the resource. This can be either a GCP resource or a custom one (e.g.
4176
+ # another cloud provider's VM). For GCP compute resources use singular form of
4177
+ # the names listed in GCP compute API documentation (https://cloud.google.com/
4178
+ # compute/docs/reference/rest/v1/), prefixed with 'compute-', for example: '
4179
+ # compute-instance', 'compute-disk', 'compute-autoscaler'.
4180
+ # Corresponds to the JSON property `resourceType`
4181
+ # @return [String]
4182
+ attr_accessor :resource_type
4183
+
4184
+ # URL identifying the resource, e.g. "https://www.googleapis.com/compute/v1/
4185
+ # projects/...)".
4186
+ # Corresponds to the JSON property `resourceUrl`
4187
+ # @return [String]
4188
+ attr_accessor :resource_url
4189
+
4190
+ def initialize(**args)
4191
+ update!(**args)
4192
+ end
4193
+
4194
+ # Update properties of this object
4195
+ def update!(**args)
4196
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
4197
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
4198
+ end
4199
+ end
4200
+
3608
4201
  # Request message for ConnectorsService.RefreshConnectionSchemaMetadata.
3609
4202
  class RefreshConnectionSchemaMetadataRequest
3610
4203
  include Google::Apis::Core::Hashable
@@ -3997,6 +4590,39 @@ module Google
3997
4590
  end
3998
4591
  end
3999
4592
 
4593
+ # Configure the schedule.
4594
+ class Schedule
4595
+ include Google::Apis::Core::Hashable
4596
+
4597
+ # Allows to define schedule that runs specified day of the week.
4598
+ # Corresponds to the JSON property `day`
4599
+ # @return [String]
4600
+ attr_accessor :day
4601
+
4602
+ # Output only. Duration of the time window, set by service producer.
4603
+ # Corresponds to the JSON property `duration`
4604
+ # @return [String]
4605
+ attr_accessor :duration
4606
+
4607
+ # Represents a time of day. The date and time zone are either not significant or
4608
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
4609
+ # types are google.type.Date and `google.protobuf.Timestamp`.
4610
+ # Corresponds to the JSON property `startTime`
4611
+ # @return [Google::Apis::ConnectorsV1::TimeOfDay]
4612
+ attr_accessor :start_time
4613
+
4614
+ def initialize(**args)
4615
+ update!(**args)
4616
+ end
4617
+
4618
+ # Update properties of this object
4619
+ def update!(**args)
4620
+ @day = args[:day] if args.key?(:day)
4621
+ @duration = args[:duration] if args.key?(:duration)
4622
+ @start_time = args[:start_time] if args.key?(:start_time)
4623
+ end
4624
+ end
4625
+
4000
4626
  # Secret provides a reference to entries in Secret Manager.
4001
4627
  class Secret
4002
4628
  include Google::Apis::Core::Hashable
@@ -4110,6 +4736,72 @@ module Google
4110
4736
  end
4111
4737
  end
4112
4738
 
4739
+ # SloEligibility is a tuple containing eligibility value: true if an instance is
4740
+ # eligible for SLO calculation or false if it should be excluded from all SLO-
4741
+ # related calculations along with a user-defined reason.
4742
+ class SloEligibility
4743
+ include Google::Apis::Core::Hashable
4744
+
4745
+ # Whether an instance is eligible or ineligible.
4746
+ # Corresponds to the JSON property `eligible`
4747
+ # @return [Boolean]
4748
+ attr_accessor :eligible
4749
+ alias_method :eligible?, :eligible
4750
+
4751
+ # User-defined reason for the current value of instance eligibility. Usually,
4752
+ # this can be directly mapped to the internal state. An empty reason is allowed.
4753
+ # Corresponds to the JSON property `reason`
4754
+ # @return [String]
4755
+ attr_accessor :reason
4756
+
4757
+ def initialize(**args)
4758
+ update!(**args)
4759
+ end
4760
+
4761
+ # Update properties of this object
4762
+ def update!(**args)
4763
+ @eligible = args[:eligible] if args.key?(:eligible)
4764
+ @reason = args[:reason] if args.key?(:reason)
4765
+ end
4766
+ end
4767
+
4768
+ # SloMetadata contains resources required for proper SLO classification of the
4769
+ # instance.
4770
+ class SloMetadata
4771
+ include Google::Apis::Core::Hashable
4772
+
4773
+ # Optional. List of nodes. Some producers need to use per-node metadata to
4774
+ # calculate SLO. This field allows such producers to publish per-node SLO meta
4775
+ # data, which will be consumed by SSA Eligibility Exporter and published in the
4776
+ # form of per node metric to Monarch.
4777
+ # Corresponds to the JSON property `nodes`
4778
+ # @return [Array<Google::Apis::ConnectorsV1::NodeSloMetadata>]
4779
+ attr_accessor :nodes
4780
+
4781
+ # PerSliSloEligibility is a mapping from an SLI name to eligibility.
4782
+ # Corresponds to the JSON property `perSliEligibility`
4783
+ # @return [Google::Apis::ConnectorsV1::PerSliSloEligibility]
4784
+ attr_accessor :per_sli_eligibility
4785
+
4786
+ # Name of the SLO tier the Instance belongs to. This name will be expected to
4787
+ # match the tiers specified in the service SLO configuration. Field is mandatory
4788
+ # and must not be empty.
4789
+ # Corresponds to the JSON property `tier`
4790
+ # @return [String]
4791
+ attr_accessor :tier
4792
+
4793
+ def initialize(**args)
4794
+ update!(**args)
4795
+ end
4796
+
4797
+ # Update properties of this object
4798
+ def update!(**args)
4799
+ @nodes = args[:nodes] if args.key?(:nodes)
4800
+ @per_sli_eligibility = args[:per_sli_eligibility] if args.key?(:per_sli_eligibility)
4801
+ @tier = args[:tier] if args.key?(:tier)
4802
+ end
4803
+ end
4804
+
4113
4805
  # Source to extract the backend from.
4114
4806
  class Source
4115
4807
  include Google::Apis::Core::Hashable
@@ -4403,6 +5095,80 @@ module Google
4403
5095
  end
4404
5096
  end
4405
5097
 
5098
+ # Represents a time of day. The date and time zone are either not significant or
5099
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
5100
+ # types are google.type.Date and `google.protobuf.Timestamp`.
5101
+ class TimeOfDay
5102
+ include Google::Apis::Core::Hashable
5103
+
5104
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
5105
+ # allow the value "24:00:00" for scenarios like business closing time.
5106
+ # Corresponds to the JSON property `hours`
5107
+ # @return [Fixnum]
5108
+ attr_accessor :hours
5109
+
5110
+ # Minutes of hour of day. Must be from 0 to 59.
5111
+ # Corresponds to the JSON property `minutes`
5112
+ # @return [Fixnum]
5113
+ attr_accessor :minutes
5114
+
5115
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
5116
+ # Corresponds to the JSON property `nanos`
5117
+ # @return [Fixnum]
5118
+ attr_accessor :nanos
5119
+
5120
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
5121
+ # allow the value 60 if it allows leap-seconds.
5122
+ # Corresponds to the JSON property `seconds`
5123
+ # @return [Fixnum]
5124
+ attr_accessor :seconds
5125
+
5126
+ def initialize(**args)
5127
+ update!(**args)
5128
+ end
5129
+
5130
+ # Update properties of this object
5131
+ def update!(**args)
5132
+ @hours = args[:hours] if args.key?(:hours)
5133
+ @minutes = args[:minutes] if args.key?(:minutes)
5134
+ @nanos = args[:nanos] if args.key?(:nanos)
5135
+ @seconds = args[:seconds] if args.key?(:seconds)
5136
+ end
5137
+ end
5138
+
5139
+ # Maintenance policy applicable to instance updates.
5140
+ class UpdatePolicy
5141
+ include Google::Apis::Core::Hashable
5142
+
5143
+ # Optional. Relative scheduling channel applied to resource.
5144
+ # Corresponds to the JSON property `channel`
5145
+ # @return [String]
5146
+ attr_accessor :channel
5147
+
5148
+ # Deny Maintenance Period that is applied to resource to indicate when
5149
+ # maintenance is forbidden. The protocol supports zero-to-many such periods, but
5150
+ # the current SLM Rollout implementation only supports zero-to-one.
5151
+ # Corresponds to the JSON property `denyMaintenancePeriods`
5152
+ # @return [Array<Google::Apis::ConnectorsV1::DenyMaintenancePeriod>]
5153
+ attr_accessor :deny_maintenance_periods
5154
+
5155
+ # MaintenanceWindow definition.
5156
+ # Corresponds to the JSON property `window`
5157
+ # @return [Google::Apis::ConnectorsV1::MaintenanceWindow]
5158
+ attr_accessor :window
5159
+
5160
+ def initialize(**args)
5161
+ update!(**args)
5162
+ end
5163
+
5164
+ # Update properties of this object
5165
+ def update!(**args)
5166
+ @channel = args[:channel] if args.key?(:channel)
5167
+ @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
5168
+ @window = args[:window] if args.key?(:window)
5169
+ end
5170
+ end
5171
+
4406
5172
  # Parameters to support Username and Password Authentication.
4407
5173
  class UserPassword
4408
5174
  include Google::Apis::Core::Hashable
@@ -4427,6 +5193,25 @@ module Google
4427
5193
  @username = args[:username] if args.key?(:username)
4428
5194
  end
4429
5195
  end
5196
+
5197
+ # Time window specified for weekly operations.
5198
+ class WeeklyCycle
5199
+ include Google::Apis::Core::Hashable
5200
+
5201
+ # User can specify multiple windows in a week. Minimum of 1 window.
5202
+ # Corresponds to the JSON property `schedule`
5203
+ # @return [Array<Google::Apis::ConnectorsV1::Schedule>]
5204
+ attr_accessor :schedule
5205
+
5206
+ def initialize(**args)
5207
+ update!(**args)
5208
+ end
5209
+
5210
+ # Update properties of this object
5211
+ def update!(**args)
5212
+ @schedule = args[:schedule] if args.key?(:schedule)
5213
+ end
5214
+ end
4430
5215
  end
4431
5216
  end
4432
5217
  end