google-apis-connectors_v1 0.46.0 → 0.47.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.
@@ -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