google-cloud-ai_platform-v1 0.17.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/ai_platform/v1/job_service/client.rb +733 -0
  3. data/lib/google/cloud/ai_platform/v1/job_service/credentials.rb +2 -1
  4. data/lib/google/cloud/ai_platform/v1/job_service/paths.rb +40 -0
  5. data/lib/google/cloud/ai_platform/v1/model_service/client.rb +123 -0
  6. data/lib/google/cloud/ai_platform/v1/version.rb +1 -1
  7. data/lib/google/cloud/aiplatform/v1/custom_job_pb.rb +1 -0
  8. data/lib/google/cloud/aiplatform/v1/index_endpoint_pb.rb +2 -0
  9. data/lib/google/cloud/aiplatform/v1/job_service_pb.rb +46 -0
  10. data/lib/google/cloud/aiplatform/v1/job_service_services_pb.rb +26 -0
  11. data/lib/google/cloud/aiplatform/v1/model_pb.rb +5 -0
  12. data/lib/google/cloud/aiplatform/v1/model_service_pb.rb +20 -0
  13. data/lib/google/cloud/aiplatform/v1/model_service_services_pb.rb +7 -0
  14. data/lib/google/cloud/aiplatform/v1/nas_job_pb.rb +123 -0
  15. data/lib/google/cloud/aiplatform/v1/pipeline_job_pb.rb +1 -0
  16. data/lib/google/cloud/aiplatform/v1/service_networking_pb.rb +25 -0
  17. data/lib/google/cloud/aiplatform/v1/study_pb.rb +6 -0
  18. data/proto_docs/google/cloud/aiplatform/v1/custom_job.rb +12 -0
  19. data/proto_docs/google/cloud/aiplatform/v1/endpoint.rb +3 -1
  20. data/proto_docs/google/cloud/aiplatform/v1/index_endpoint.rb +10 -3
  21. data/proto_docs/google/cloud/aiplatform/v1/job_service.rb +166 -0
  22. data/proto_docs/google/cloud/aiplatform/v1/model.rb +15 -0
  23. data/proto_docs/google/cloud/aiplatform/v1/model_service.rb +58 -0
  24. data/proto_docs/google/cloud/aiplatform/v1/nas_job.rb +306 -0
  25. data/proto_docs/google/cloud/aiplatform/v1/pipeline_job.rb +5 -0
  26. data/proto_docs/google/cloud/aiplatform/v1/service_networking.rb +39 -0
  27. data/proto_docs/google/cloud/aiplatform/v1/study.rb +22 -0
  28. metadata +10 -6
@@ -69,7 +69,7 @@ module Google
69
69
  # unspecified, the Endpoint is not peered with any network.
70
70
  #
71
71
  # {::Google::Cloud::AIPlatform::V1::IndexEndpoint#network network} and
72
- # [private_service_connect_config][google.cloud.aiplatform.v1.IndexEndpoint.private_service_connect_config]
72
+ # {::Google::Cloud::AIPlatform::V1::IndexEndpoint#private_service_connect_config private_service_connect_config}
73
73
  # are mutually exclusive.
74
74
  #
75
75
  # [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert):
@@ -85,6 +85,13 @@ module Google
85
85
  # {::Google::Cloud::AIPlatform::V1::IndexEndpoint#network network} or
86
86
  # {::Google::Cloud::AIPlatform::V1::IndexEndpoint#enable_private_service_connect enable_private_service_connect},
87
87
  # can be set.
88
+ # @!attribute [rw] private_service_connect_config
89
+ # @return [::Google::Cloud::AIPlatform::V1::PrivateServiceConnectConfig]
90
+ # Optional. Configuration for private service connect.
91
+ #
92
+ # {::Google::Cloud::AIPlatform::V1::IndexEndpoint#network network} and
93
+ # {::Google::Cloud::AIPlatform::V1::IndexEndpoint#private_service_connect_config private_service_connect_config}
94
+ # are mutually exclusive.
88
95
  class IndexEndpoint
89
96
  include ::Google::Protobuf::MessageExts
90
97
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -164,10 +171,10 @@ module Google
164
171
  # e2-standard-16 and all machine types available for LARGE shard.
165
172
  #
166
173
  # Available machine types for LARGE shard:
167
- # e2-standard-32, e2-highmem-16, n2d-standard-32.
174
+ # e2-highmem-16, n2d-standard-32.
168
175
  #
169
176
  # n1-standard-16 and n1-standard-32 are still available, but we recommend
170
- # e2-standard-16 and e2-standard-32 for cost efficiency.
177
+ # e2-standard-16 and e2-highmem-16 for cost efficiency.
171
178
  # @!attribute [rw] enable_access_logging
172
179
  # @return [::Boolean]
173
180
  # Optional. If true, private endpoint's access logs are sent to StackDriver
@@ -365,6 +365,172 @@ module Google
365
365
  extend ::Google::Protobuf::MessageExts::ClassMethods
366
366
  end
367
367
 
368
+ # Request message for
369
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#create_nas_job JobService.CreateNasJob}.
370
+ # @!attribute [rw] parent
371
+ # @return [::String]
372
+ # Required. The resource name of the Location to create the NasJob in.
373
+ # Format: `projects/{project}/locations/{location}`
374
+ # @!attribute [rw] nas_job
375
+ # @return [::Google::Cloud::AIPlatform::V1::NasJob]
376
+ # Required. The NasJob to create.
377
+ class CreateNasJobRequest
378
+ include ::Google::Protobuf::MessageExts
379
+ extend ::Google::Protobuf::MessageExts::ClassMethods
380
+ end
381
+
382
+ # Request message for
383
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#get_nas_job JobService.GetNasJob}.
384
+ # @!attribute [rw] name
385
+ # @return [::String]
386
+ # Required. The name of the NasJob resource.
387
+ # Format:
388
+ # `projects/{project}/locations/{location}/nasJobs/{nas_job}`
389
+ class GetNasJobRequest
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+ end
393
+
394
+ # Request message for
395
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#list_nas_jobs JobService.ListNasJobs}.
396
+ # @!attribute [rw] parent
397
+ # @return [::String]
398
+ # Required. The resource name of the Location to list the NasJobs
399
+ # from. Format: `projects/{project}/locations/{location}`
400
+ # @!attribute [rw] filter
401
+ # @return [::String]
402
+ # The standard list filter.
403
+ #
404
+ # Supported fields:
405
+ #
406
+ # * `display_name` supports `=`, `!=` comparisons, and `:` wildcard.
407
+ # * `state` supports `=`, `!=` comparisons.
408
+ # * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons.
409
+ # `create_time` must be in RFC 3339 format.
410
+ # * `labels` supports general map functions that is:
411
+ # `labels.key=value` - key:value equality
412
+ # `labels.key:* - key existence
413
+ #
414
+ # Some examples of using the filter are:
415
+ #
416
+ # * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"`
417
+ # * `state!="JOB_STATE_FAILED" OR display_name="my_job"`
418
+ # * `NOT display_name="my_job"`
419
+ # * `create_time>"2021-05-18T00:00:00Z"`
420
+ # * `labels.keyA=valueA`
421
+ # * `labels.keyB:*`
422
+ # @!attribute [rw] page_size
423
+ # @return [::Integer]
424
+ # The standard list page size.
425
+ # @!attribute [rw] page_token
426
+ # @return [::String]
427
+ # The standard list page token.
428
+ # Typically obtained via
429
+ # {::Google::Cloud::AIPlatform::V1::ListNasJobsResponse#next_page_token ListNasJobsResponse.next_page_token}
430
+ # of the previous
431
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#list_nas_jobs JobService.ListNasJobs}
432
+ # call.
433
+ # @!attribute [rw] read_mask
434
+ # @return [::Google::Protobuf::FieldMask]
435
+ # Mask specifying which fields to read.
436
+ class ListNasJobsRequest
437
+ include ::Google::Protobuf::MessageExts
438
+ extend ::Google::Protobuf::MessageExts::ClassMethods
439
+ end
440
+
441
+ # Response message for
442
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#list_nas_jobs JobService.ListNasJobs}
443
+ # @!attribute [rw] nas_jobs
444
+ # @return [::Array<::Google::Cloud::AIPlatform::V1::NasJob>]
445
+ # List of NasJobs in the requested page.
446
+ # {::Google::Cloud::AIPlatform::V1::NasJob#nas_job_output NasJob.nas_job_output}
447
+ # of the jobs will not be returned.
448
+ # @!attribute [rw] next_page_token
449
+ # @return [::String]
450
+ # A token to retrieve the next page of results.
451
+ # Pass to
452
+ # {::Google::Cloud::AIPlatform::V1::ListNasJobsRequest#page_token ListNasJobsRequest.page_token}
453
+ # to obtain that page.
454
+ class ListNasJobsResponse
455
+ include ::Google::Protobuf::MessageExts
456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
457
+ end
458
+
459
+ # Request message for
460
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#delete_nas_job JobService.DeleteNasJob}.
461
+ # @!attribute [rw] name
462
+ # @return [::String]
463
+ # Required. The name of the NasJob resource to be deleted.
464
+ # Format:
465
+ # `projects/{project}/locations/{location}/nasJobs/{nas_job}`
466
+ class DeleteNasJobRequest
467
+ include ::Google::Protobuf::MessageExts
468
+ extend ::Google::Protobuf::MessageExts::ClassMethods
469
+ end
470
+
471
+ # Request message for
472
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#cancel_nas_job JobService.CancelNasJob}.
473
+ # @!attribute [rw] name
474
+ # @return [::String]
475
+ # Required. The name of the NasJob to cancel.
476
+ # Format:
477
+ # `projects/{project}/locations/{location}/nasJobs/{nas_job}`
478
+ class CancelNasJobRequest
479
+ include ::Google::Protobuf::MessageExts
480
+ extend ::Google::Protobuf::MessageExts::ClassMethods
481
+ end
482
+
483
+ # Request message for
484
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#get_nas_trial_detail JobService.GetNasTrialDetail}.
485
+ # @!attribute [rw] name
486
+ # @return [::String]
487
+ # Required. The name of the NasTrialDetail resource.
488
+ # Format:
489
+ # `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}`
490
+ class GetNasTrialDetailRequest
491
+ include ::Google::Protobuf::MessageExts
492
+ extend ::Google::Protobuf::MessageExts::ClassMethods
493
+ end
494
+
495
+ # Request message for
496
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#list_nas_trial_details JobService.ListNasTrialDetails}.
497
+ # @!attribute [rw] parent
498
+ # @return [::String]
499
+ # Required. The name of the NasJob resource.
500
+ # Format:
501
+ # `projects/{project}/locations/{location}/nasJobs/{nas_job}`
502
+ # @!attribute [rw] page_size
503
+ # @return [::Integer]
504
+ # The standard list page size.
505
+ # @!attribute [rw] page_token
506
+ # @return [::String]
507
+ # The standard list page token.
508
+ # Typically obtained via
509
+ # {::Google::Cloud::AIPlatform::V1::ListNasTrialDetailsResponse#next_page_token ListNasTrialDetailsResponse.next_page_token}
510
+ # of the previous
511
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#list_nas_trial_details JobService.ListNasTrialDetails}
512
+ # call.
513
+ class ListNasTrialDetailsRequest
514
+ include ::Google::Protobuf::MessageExts
515
+ extend ::Google::Protobuf::MessageExts::ClassMethods
516
+ end
517
+
518
+ # Response message for
519
+ # {::Google::Cloud::AIPlatform::V1::JobService::Client#list_nas_trial_details JobService.ListNasTrialDetails}
520
+ # @!attribute [rw] nas_trial_details
521
+ # @return [::Array<::Google::Cloud::AIPlatform::V1::NasTrialDetail>]
522
+ # List of top NasTrials in the requested page.
523
+ # @!attribute [rw] next_page_token
524
+ # @return [::String]
525
+ # A token to retrieve the next page of results.
526
+ # Pass to
527
+ # {::Google::Cloud::AIPlatform::V1::ListNasTrialDetailsRequest#page_token ListNasTrialDetailsRequest.page_token}
528
+ # to obtain that page.
529
+ class ListNasTrialDetailsResponse
530
+ include ::Google::Protobuf::MessageExts
531
+ extend ::Google::Protobuf::MessageExts::ClassMethods
532
+ end
533
+
368
534
  # Request message for
369
535
  # {::Google::Cloud::AIPlatform::V1::JobService::Client#create_batch_prediction_job JobService.CreateBatchPredictionJob}.
370
536
  # @!attribute [rw] parent
@@ -269,6 +269,10 @@ module Google
269
269
  # @return [::Google::Cloud::AIPlatform::V1::ModelSourceInfo]
270
270
  # Output only. Source of a model. It can either be automl training pipeline,
271
271
  # custom training pipeline, BigQuery ML, or existing Vertex AI Model.
272
+ # @!attribute [r] original_model_info
273
+ # @return [::Google::Cloud::AIPlatform::V1::Model::OriginalModelInfo]
274
+ # Output only. If this Model is a copy of another Model, this contains info
275
+ # about the original.
272
276
  # @!attribute [r] metadata_artifact
273
277
  # @return [::String]
274
278
  # Output only. The resource name of the Artifact that was created in
@@ -331,6 +335,17 @@ module Google
331
335
  end
332
336
  end
333
337
 
338
+ # Contains information about the original Model if this Model is a copy.
339
+ # @!attribute [r] model
340
+ # @return [::String]
341
+ # Output only. The resource name of the Model this Model is a copy of,
342
+ # including the revision. Format:
343
+ # `projects/{project}/locations/{location}/models/{model_id}@{version_id}`
344
+ class OriginalModelInfo
345
+ include ::Google::Protobuf::MessageExts
346
+ extend ::Google::Protobuf::MessageExts::ClassMethods
347
+ end
348
+
334
349
  # @!attribute [rw] key
335
350
  # @return [::String]
336
351
  # @!attribute [rw] value
@@ -402,6 +402,64 @@ module Google
402
402
  extend ::Google::Protobuf::MessageExts::ClassMethods
403
403
  end
404
404
 
405
+ # Request message for
406
+ # {::Google::Cloud::AIPlatform::V1::ModelService::Client#copy_model ModelService.CopyModel}.
407
+ # @!attribute [rw] model_id
408
+ # @return [::String]
409
+ # Optional. Copy source_model into a new Model with this ID. The ID will
410
+ # become the final component of the model resource name.
411
+ #
412
+ # This value may be up to 63 characters, and valid characters are
413
+ # `[a-z0-9_-]`. The first character cannot be a number or hyphen.
414
+ # @!attribute [rw] parent_model
415
+ # @return [::String]
416
+ # Optional. Specify this field to copy source_model into this existing
417
+ # Model as a new version. Format:
418
+ # `projects/{project}/locations/{location}/models/{model}`
419
+ # @!attribute [rw] parent
420
+ # @return [::String]
421
+ # Required. The resource name of the Location into which to copy the Model.
422
+ # Format: `projects/{project}/locations/{location}`
423
+ # @!attribute [rw] source_model
424
+ # @return [::String]
425
+ # Required. The resource name of the Model to copy. That Model must be in the
426
+ # same Project. Format:
427
+ # `projects/{project}/locations/{location}/models/{model}`
428
+ # @!attribute [rw] encryption_spec
429
+ # @return [::Google::Cloud::AIPlatform::V1::EncryptionSpec]
430
+ # Customer-managed encryption key options. If this is set,
431
+ # then the Model copy will be encrypted with the provided encryption key.
432
+ class CopyModelRequest
433
+ include ::Google::Protobuf::MessageExts
434
+ extend ::Google::Protobuf::MessageExts::ClassMethods
435
+ end
436
+
437
+ # Details of
438
+ # {::Google::Cloud::AIPlatform::V1::ModelService::Client#copy_model ModelService.CopyModel}
439
+ # operation.
440
+ # @!attribute [rw] generic_metadata
441
+ # @return [::Google::Cloud::AIPlatform::V1::GenericOperationMetadata]
442
+ # The common part of the operation metadata.
443
+ class CopyModelOperationMetadata
444
+ include ::Google::Protobuf::MessageExts
445
+ extend ::Google::Protobuf::MessageExts::ClassMethods
446
+ end
447
+
448
+ # Response message of
449
+ # {::Google::Cloud::AIPlatform::V1::ModelService::Client#copy_model ModelService.CopyModel}
450
+ # operation.
451
+ # @!attribute [rw] model
452
+ # @return [::String]
453
+ # The name of the copied Model resource.
454
+ # Format: `projects/{project}/locations/{location}/models/{model}`
455
+ # @!attribute [r] model_version_id
456
+ # @return [::String]
457
+ # Output only. The version ID of the model that is copied.
458
+ class CopyModelResponse
459
+ include ::Google::Protobuf::MessageExts
460
+ extend ::Google::Protobuf::MessageExts::ClassMethods
461
+ end
462
+
405
463
  # Request message for
406
464
  # {::Google::Cloud::AIPlatform::V1::ModelService::Client#import_model_evaluation ModelService.ImportModelEvaluation}
407
465
  # @!attribute [rw] parent
@@ -0,0 +1,306 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module AIPlatform
23
+ module V1
24
+ # Represents a Neural Architecture Search (NAS) job.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. Resource name of the NasJob.
28
+ # @!attribute [rw] display_name
29
+ # @return [::String]
30
+ # Required. The display name of the NasJob.
31
+ # The name can be up to 128 characters long and can consist of any UTF-8
32
+ # characters.
33
+ # @!attribute [rw] nas_job_spec
34
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobSpec]
35
+ # Required. The specification of a NasJob.
36
+ # @!attribute [r] nas_job_output
37
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobOutput]
38
+ # Output only. Output of the NasJob.
39
+ # @!attribute [r] state
40
+ # @return [::Google::Cloud::AIPlatform::V1::JobState]
41
+ # Output only. The detailed state of the job.
42
+ # @!attribute [r] create_time
43
+ # @return [::Google::Protobuf::Timestamp]
44
+ # Output only. Time when the NasJob was created.
45
+ # @!attribute [r] start_time
46
+ # @return [::Google::Protobuf::Timestamp]
47
+ # Output only. Time when the NasJob for the first time entered the
48
+ # `JOB_STATE_RUNNING` state.
49
+ # @!attribute [r] end_time
50
+ # @return [::Google::Protobuf::Timestamp]
51
+ # Output only. Time when the NasJob entered any of the following states:
52
+ # `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.
53
+ # @!attribute [r] update_time
54
+ # @return [::Google::Protobuf::Timestamp]
55
+ # Output only. Time when the NasJob was most recently updated.
56
+ # @!attribute [r] error
57
+ # @return [::Google::Rpc::Status]
58
+ # Output only. Only populated when job's state is JOB_STATE_FAILED or
59
+ # JOB_STATE_CANCELLED.
60
+ # @!attribute [rw] labels
61
+ # @return [::Google::Protobuf::Map{::String => ::String}]
62
+ # The labels with user-defined metadata to organize NasJobs.
63
+ #
64
+ # Label keys and values can be no longer than 64 characters
65
+ # (Unicode codepoints), can only contain lowercase letters, numeric
66
+ # characters, underscores and dashes. International characters are allowed.
67
+ #
68
+ # See https://goo.gl/xmQnxf for more information and examples of labels.
69
+ # @!attribute [rw] encryption_spec
70
+ # @return [::Google::Cloud::AIPlatform::V1::EncryptionSpec]
71
+ # Customer-managed encryption key options for a NasJob.
72
+ # If this is set, then all resources created by the NasJob
73
+ # will be encrypted with the provided encryption key.
74
+ # @!attribute [rw] enable_restricted_image_training
75
+ # @return [::Boolean]
76
+ # Optional. Enable a separation of Custom model training
77
+ # and restricted image training for tenant project.
78
+ class NasJob
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+
82
+ # @!attribute [rw] key
83
+ # @return [::String]
84
+ # @!attribute [rw] value
85
+ # @return [::String]
86
+ class LabelsEntry
87
+ include ::Google::Protobuf::MessageExts
88
+ extend ::Google::Protobuf::MessageExts::ClassMethods
89
+ end
90
+ end
91
+
92
+ # Represents a NasTrial details along with it's parameters. If there is a
93
+ # corresponding train NasTrial, the train NasTrial is also returned.
94
+ # @!attribute [r] name
95
+ # @return [::String]
96
+ # Output only. Resource name of the NasTrialDetail.
97
+ # @!attribute [rw] parameters
98
+ # @return [::String]
99
+ # The parameters for the NasJob NasTrial.
100
+ # @!attribute [rw] search_trial
101
+ # @return [::Google::Cloud::AIPlatform::V1::NasTrial]
102
+ # The requested search NasTrial.
103
+ # @!attribute [rw] train_trial
104
+ # @return [::Google::Cloud::AIPlatform::V1::NasTrial]
105
+ # The train NasTrial corresponding to
106
+ # {::Google::Cloud::AIPlatform::V1::NasTrialDetail#search_trial search_trial}.
107
+ # Only populated if
108
+ # {::Google::Cloud::AIPlatform::V1::NasTrialDetail#search_trial search_trial} is
109
+ # used for training.
110
+ class NasTrialDetail
111
+ include ::Google::Protobuf::MessageExts
112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
113
+ end
114
+
115
+ # Represents the spec of a NasJob.
116
+ # @!attribute [rw] multi_trial_algorithm_spec
117
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobSpec::MultiTrialAlgorithmSpec]
118
+ # The spec of multi-trial algorithms.
119
+ # @!attribute [rw] resume_nas_job_id
120
+ # @return [::String]
121
+ # The ID of the existing NasJob in the same Project and Location
122
+ # which will be used to resume search. search_space_spec and
123
+ # nas_algorithm_spec are obtained from previous NasJob hence should not
124
+ # provide them again for this NasJob.
125
+ # @!attribute [rw] search_space_spec
126
+ # @return [::String]
127
+ # It defines the search space for Neural Architecture Search (NAS).
128
+ class NasJobSpec
129
+ include ::Google::Protobuf::MessageExts
130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
131
+
132
+ # The spec of multi-trial Neural Architecture Search (NAS).
133
+ # @!attribute [rw] multi_trial_algorithm
134
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobSpec::MultiTrialAlgorithmSpec::MultiTrialAlgorithm]
135
+ # The multi-trial Neural Architecture Search (NAS) algorithm
136
+ # type. Defaults to `REINFORCEMENT_LEARNING`.
137
+ # @!attribute [rw] metric
138
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobSpec::MultiTrialAlgorithmSpec::MetricSpec]
139
+ # Metric specs for the NAS job.
140
+ # Validation for this field is done at `multi_trial_algorithm_spec` field.
141
+ # @!attribute [rw] search_trial_spec
142
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobSpec::MultiTrialAlgorithmSpec::SearchTrialSpec]
143
+ # Required. Spec for search trials.
144
+ # @!attribute [rw] train_trial_spec
145
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobSpec::MultiTrialAlgorithmSpec::TrainTrialSpec]
146
+ # Spec for train trials. Top N [TrainTrialSpec.max_parallel_trial_count]
147
+ # search trials will be trained for every M
148
+ # [TrainTrialSpec.frequency] trials searched.
149
+ class MultiTrialAlgorithmSpec
150
+ include ::Google::Protobuf::MessageExts
151
+ extend ::Google::Protobuf::MessageExts::ClassMethods
152
+
153
+ # Represents a metric to optimize.
154
+ # @!attribute [rw] metric_id
155
+ # @return [::String]
156
+ # Required. The ID of the metric. Must not contain whitespaces.
157
+ # @!attribute [rw] goal
158
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobSpec::MultiTrialAlgorithmSpec::MetricSpec::GoalType]
159
+ # Required. The optimization goal of the metric.
160
+ class MetricSpec
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+
164
+ # The available types of optimization goals.
165
+ module GoalType
166
+ # Goal Type will default to maximize.
167
+ GOAL_TYPE_UNSPECIFIED = 0
168
+
169
+ # Maximize the goal metric.
170
+ MAXIMIZE = 1
171
+
172
+ # Minimize the goal metric.
173
+ MINIMIZE = 2
174
+ end
175
+ end
176
+
177
+ # Represent spec for search trials.
178
+ # @!attribute [rw] search_trial_job_spec
179
+ # @return [::Google::Cloud::AIPlatform::V1::CustomJobSpec]
180
+ # Required. The spec of a search trial job. The same spec applies to
181
+ # all search trials.
182
+ # @!attribute [rw] max_trial_count
183
+ # @return [::Integer]
184
+ # Required. The maximum number of Neural Architecture Search (NAS) trials
185
+ # to run.
186
+ # @!attribute [rw] max_parallel_trial_count
187
+ # @return [::Integer]
188
+ # Required. The maximum number of trials to run in parallel.
189
+ # @!attribute [rw] max_failed_trial_count
190
+ # @return [::Integer]
191
+ # The number of failed trials that need to be seen before failing
192
+ # the NasJob.
193
+ #
194
+ # If set to 0, Vertex AI decides how many trials must fail
195
+ # before the whole job fails.
196
+ class SearchTrialSpec
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+ end
200
+
201
+ # Represent spec for train trials.
202
+ # @!attribute [rw] train_trial_job_spec
203
+ # @return [::Google::Cloud::AIPlatform::V1::CustomJobSpec]
204
+ # Required. The spec of a train trial job. The same spec applies to
205
+ # all train trials.
206
+ # @!attribute [rw] max_parallel_trial_count
207
+ # @return [::Integer]
208
+ # Required. The maximum number of trials to run in parallel.
209
+ # @!attribute [rw] frequency
210
+ # @return [::Integer]
211
+ # Required. Frequency of search trials to start train stage. Top N
212
+ # [TrainTrialSpec.max_parallel_trial_count]
213
+ # search trials will be trained for every M
214
+ # [TrainTrialSpec.frequency] trials searched.
215
+ class TrainTrialSpec
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # The available types of multi-trial algorithms.
221
+ module MultiTrialAlgorithm
222
+ # Defaults to `REINFORCEMENT_LEARNING`.
223
+ MULTI_TRIAL_ALGORITHM_UNSPECIFIED = 0
224
+
225
+ # The Reinforcement Learning Algorithm for Multi-trial Neural
226
+ # Architecture Search (NAS).
227
+ REINFORCEMENT_LEARNING = 1
228
+
229
+ # The Grid Search Algorithm for Multi-trial Neural
230
+ # Architecture Search (NAS).
231
+ GRID_SEARCH = 2
232
+ end
233
+ end
234
+ end
235
+
236
+ # Represents a uCAIP NasJob output.
237
+ # @!attribute [r] multi_trial_job_output
238
+ # @return [::Google::Cloud::AIPlatform::V1::NasJobOutput::MultiTrialJobOutput]
239
+ # Output only. The output of this multi-trial Neural Architecture Search
240
+ # (NAS) job.
241
+ class NasJobOutput
242
+ include ::Google::Protobuf::MessageExts
243
+ extend ::Google::Protobuf::MessageExts::ClassMethods
244
+
245
+ # The output of a multi-trial Neural Architecture Search (NAS) jobs.
246
+ # @!attribute [r] search_trials
247
+ # @return [::Array<::Google::Cloud::AIPlatform::V1::NasTrial>]
248
+ # Output only. List of NasTrials that were started as part of search stage.
249
+ # @!attribute [r] train_trials
250
+ # @return [::Array<::Google::Cloud::AIPlatform::V1::NasTrial>]
251
+ # Output only. List of NasTrials that were started as part of train stage.
252
+ class MultiTrialJobOutput
253
+ include ::Google::Protobuf::MessageExts
254
+ extend ::Google::Protobuf::MessageExts::ClassMethods
255
+ end
256
+ end
257
+
258
+ # Represents a uCAIP NasJob trial.
259
+ # @!attribute [r] id
260
+ # @return [::String]
261
+ # Output only. The identifier of the NasTrial assigned by the service.
262
+ # @!attribute [r] state
263
+ # @return [::Google::Cloud::AIPlatform::V1::NasTrial::State]
264
+ # Output only. The detailed state of the NasTrial.
265
+ # @!attribute [r] final_measurement
266
+ # @return [::Google::Cloud::AIPlatform::V1::Measurement]
267
+ # Output only. The final measurement containing the objective value.
268
+ # @!attribute [r] start_time
269
+ # @return [::Google::Protobuf::Timestamp]
270
+ # Output only. Time when the NasTrial was started.
271
+ # @!attribute [r] end_time
272
+ # @return [::Google::Protobuf::Timestamp]
273
+ # Output only. Time when the NasTrial's status changed to `SUCCEEDED` or
274
+ # `INFEASIBLE`.
275
+ class NasTrial
276
+ include ::Google::Protobuf::MessageExts
277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
278
+
279
+ # Describes a NasTrial state.
280
+ module State
281
+ # The NasTrial state is unspecified.
282
+ STATE_UNSPECIFIED = 0
283
+
284
+ # Indicates that a specific NasTrial has been requested, but it has not yet
285
+ # been suggested by the service.
286
+ REQUESTED = 1
287
+
288
+ # Indicates that the NasTrial has been suggested.
289
+ ACTIVE = 2
290
+
291
+ # Indicates that the NasTrial should stop according to the service.
292
+ STOPPING = 3
293
+
294
+ # Indicates that the NasTrial is completed successfully.
295
+ SUCCEEDED = 4
296
+
297
+ # Indicates that the NasTrial should not be attempted again.
298
+ # The service will set a NasTrial to INFEASIBLE when it's done but missing
299
+ # the final_measurement.
300
+ INFEASIBLE = 5
301
+ end
302
+ end
303
+ end
304
+ end
305
+ end
306
+ end
@@ -419,6 +419,11 @@ module Google
419
419
  # @return [::String]
420
420
  # Output only. The name of the
421
421
  # {::Google::Cloud::AIPlatform::V1::CustomJob CustomJob}.
422
+ # @!attribute [r] failed_jobs
423
+ # @return [::Array<::String>]
424
+ # Output only. The names of the previously failed
425
+ # {::Google::Cloud::AIPlatform::V1::CustomJob CustomJob}. The list includes the
426
+ # all attempts in chronological order.
422
427
  class CustomJobDetail
423
428
  include ::Google::Protobuf::MessageExts
424
429
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module AIPlatform
23
+ module V1
24
+ # Represents configuration for private service connect.
25
+ # @!attribute [rw] enable_private_service_connect
26
+ # @return [::Boolean]
27
+ # Required. If true, expose the IndexEndpoint via private service connect.
28
+ # @!attribute [rw] project_allowlist
29
+ # @return [::Array<::String>]
30
+ # A list of Projects from which the forwarding rule will target the service
31
+ # attachment.
32
+ class PrivateServiceConnectConfig
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end