google-cloud-recommender-v1 0.15.0 → 0.17.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.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +72 -101
- data/lib/google/cloud/recommender/v1/recommendation_pb.rb +1 -1
- data/lib/google/cloud/recommender/v1/recommender/client.rb +46 -9
- data/lib/google/cloud/recommender/v1/recommender/rest/client.rb +48 -8
- data/lib/google/cloud/recommender/v1/recommender/rest/service_stub.rb +14 -2
- data/lib/google/cloud/recommender/v1/version.rb +1 -1
- data/proto_docs/google/api/client.rb +14 -0
- data/proto_docs/google/cloud/recommender/v1/recommendation.rb +4 -1
- data/proto_docs/google/cloud/recommender/v1/recommender_service.rb +15 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43e77521a953f3b3f7d40b87453976c076336c43fdbbf86db8abda31a1110411
|
4
|
+
data.tar.gz: a2f219b8d9b3e5d96447c0794c2d077b458ecff4940ae6d8384c0f29a6d4b0cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e87bbce1f8466ff1076ab9bb64fad0cbf4ba6121a21d39d920f5bfc1cbe1cd1c22681637c5aaf0d61fb7632e6f210c73495c58c1a553cdbe9eeda3bef246c0a9
|
7
|
+
data.tar.gz: 96b197fe7476fa1a80ae2531082cfba83964fd4e15725883aacd2eb9a78881c942c1002622e09706394b9d5e714784b9010d50efdc7e853f562960c61077d4dc
|
data/AUTHENTICATION.md
CHANGED
@@ -1,151 +1,122 @@
|
|
1
1
|
# Authentication
|
2
2
|
|
3
|
-
|
4
|
-
[
|
5
|
-
|
6
|
-
[Google Cloud Platform environments](#google-cloud-platform-environments) the
|
7
|
-
credentials will be discovered automatically. When running on other
|
8
|
-
environments, the Service Account credentials can be specified by providing the
|
9
|
-
path to the
|
10
|
-
[JSON keyfile](https://cloud.google.com/iam/docs/managing-service-account-keys)
|
11
|
-
for the account (or the JSON itself) in
|
12
|
-
[environment variables](#environment-variables). Additionally, Cloud SDK
|
13
|
-
credentials can also be discovered automatically, but this is only recommended
|
14
|
-
during development.
|
3
|
+
The recommended way to authenticate to the google-cloud-recommender-v1 library is to use
|
4
|
+
[Application Default Credentials (ADC)](https://cloud.google.com/docs/authentication/application-default-credentials).
|
5
|
+
To review all of your authentication options, see [Credentials lookup](#credential-lookup).
|
15
6
|
|
16
7
|
## Quickstart
|
17
8
|
|
18
|
-
|
19
|
-
|
9
|
+
The following example shows how to set up authentication for a local development
|
10
|
+
environment with your user credentials.
|
20
11
|
|
21
|
-
|
22
|
-
|
23
|
-
```
|
24
|
-
|
25
|
-
3. Initialize the client.
|
12
|
+
**NOTE:** This method is _not_ recommended for running in production. User credentials
|
13
|
+
should be used only during development.
|
26
14
|
|
27
|
-
|
28
|
-
|
15
|
+
1. [Download and install the Google Cloud CLI](https://cloud.google.com/sdk).
|
16
|
+
2. Set up a local ADC file with your user credentials:
|
29
17
|
|
30
|
-
|
18
|
+
```sh
|
19
|
+
gcloud auth application-default login
|
31
20
|
```
|
32
21
|
|
33
|
-
|
34
|
-
|
35
|
-
The google-cloud-recommender-v1 library aims to make authentication
|
36
|
-
as simple as possible, and provides several mechanisms to configure your system
|
37
|
-
without requiring **Service Account Credentials** directly in code.
|
38
|
-
|
39
|
-
**Credentials** are discovered in the following order:
|
40
|
-
|
41
|
-
1. Specify credentials in method arguments
|
42
|
-
2. Specify credentials in configuration
|
43
|
-
3. Discover credentials path in environment variables
|
44
|
-
4. Discover credentials JSON in environment variables
|
45
|
-
5. Discover credentials file in the Cloud SDK's path
|
46
|
-
6. Discover GCP credentials
|
47
|
-
|
48
|
-
### Google Cloud Platform environments
|
22
|
+
3. Write code as if already authenticated.
|
49
23
|
|
50
|
-
|
51
|
-
|
52
|
-
Functions (GCF) and Cloud Run, **Credentials** are discovered automatically.
|
53
|
-
Code should be written as if already authenticated.
|
24
|
+
For more information about setting up authentication for a local development environment, see
|
25
|
+
[Set up Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-dev).
|
54
26
|
|
55
|
-
|
27
|
+
## Credential Lookup
|
56
28
|
|
57
|
-
The
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
**Credentials JSON** file can be stored in the environment variable, or the
|
62
|
-
**Credentials JSON** itself can be stored for environments such as Docker
|
63
|
-
containers where writing files is difficult or not encouraged.
|
29
|
+
The google-cloud-recommender-v1 library provides several mechanisms to configure your system.
|
30
|
+
Generally, using Application Default Credentials to facilitate automatic
|
31
|
+
credentials discovery is the easist method. But if you need to explicitly specify
|
32
|
+
credentials, there are several methods available to you.
|
64
33
|
|
65
|
-
|
66
|
-
checks for credentials are configured on the service Credentials class (such as
|
67
|
-
{::Google::Cloud::Recommender::V1::Recommender::Credentials}):
|
34
|
+
Credentials are accepted in the following ways, in the following order or precedence:
|
68
35
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
36
|
+
1. Credentials specified in method arguments
|
37
|
+
2. Credentials specified in configuration
|
38
|
+
3. Credentials pointed to or included in environment variables
|
39
|
+
4. Credentials found in local ADC file
|
40
|
+
5. Credentials returned by the metadata server for the attached service account (GCP)
|
74
41
|
|
75
|
-
|
76
|
-
require "google/cloud/recommender/v1"
|
77
|
-
|
78
|
-
ENV["RECOMMENDER_CREDENTIALS"] = "path/to/keyfile.json"
|
42
|
+
### Configuration
|
79
43
|
|
80
|
-
client
|
81
|
-
|
44
|
+
You can configure a path to a JSON credentials file, either for an individual client object or
|
45
|
+
globally, for all client objects. The JSON file can contain credentials created for
|
46
|
+
[workload identity federation](https://cloud.google.com/iam/docs/workload-identity-federation),
|
47
|
+
[workforce identity federation](https://cloud.google.com/iam/docs/workforce-identity-federation), or a
|
48
|
+
[service account key](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-key).
|
82
49
|
|
83
|
-
|
50
|
+
Note: Service account keys are a security risk if not managed correctly. You should
|
51
|
+
[choose a more secure alternative to service account keys](https://cloud.google.com/docs/authentication#auth-decision-tree)
|
52
|
+
whenever possible.
|
84
53
|
|
85
|
-
|
86
|
-
it in an environment variable. Either on an individual client initialization:
|
54
|
+
To configure a credentials file for an individual client initialization:
|
87
55
|
|
88
56
|
```ruby
|
89
57
|
require "google/cloud/recommender/v1"
|
90
58
|
|
91
59
|
client = ::Google::Cloud::Recommender::V1::Recommender::Client.new do |config|
|
92
|
-
config.credentials = "path/to/
|
60
|
+
config.credentials = "path/to/credentialfile.json"
|
93
61
|
end
|
94
62
|
```
|
95
63
|
|
96
|
-
|
64
|
+
To configure a credentials file globally for all clients:
|
97
65
|
|
98
66
|
```ruby
|
99
67
|
require "google/cloud/recommender/v1"
|
100
68
|
|
101
69
|
::Google::Cloud::Recommender::V1::Recommender::Client.configure do |config|
|
102
|
-
config.credentials = "path/to/
|
70
|
+
config.credentials = "path/to/credentialfile.json"
|
103
71
|
end
|
104
72
|
|
105
73
|
client = ::Google::Cloud::Recommender::V1::Recommender::Client.new
|
106
74
|
```
|
107
75
|
|
108
|
-
###
|
76
|
+
### Environment Variables
|
109
77
|
|
110
|
-
|
111
|
-
|
112
|
-
|
78
|
+
You can also use an environment variable to provide a JSON credentials file.
|
79
|
+
The environment variable can contain a path to the credentials file or, for
|
80
|
+
environments such as Docker containers where writing files is not encouraged,
|
81
|
+
you can include the credentials file itself.
|
113
82
|
|
114
|
-
|
83
|
+
The JSON file can contain credentials created for
|
84
|
+
[workload identity federation](https://cloud.google.com/iam/docs/workload-identity-federation),
|
85
|
+
[workforce identity federation](https://cloud.google.com/iam/docs/workforce-identity-federation), or a
|
86
|
+
[service account key](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-key).
|
115
87
|
|
116
|
-
|
117
|
-
|
118
|
-
|
88
|
+
Note: Service account keys are a security risk if not managed correctly. You should
|
89
|
+
[choose a more secure alternative to service account keys](https://cloud.google.com/docs/authentication#auth-decision-tree)
|
90
|
+
whenever possible.
|
91
|
+
|
92
|
+
The environment variables that google-cloud-recommender-v1
|
93
|
+
checks for credentials are:
|
119
94
|
|
120
|
-
|
121
|
-
*
|
95
|
+
* `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
|
96
|
+
* `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
|
122
97
|
|
123
|
-
|
98
|
+
```ruby
|
99
|
+
require "google/cloud/recommender/v1"
|
124
100
|
|
125
|
-
|
126
|
-
connect to the APIs. You will use the **JSON key file** to
|
127
|
-
connect to most services with google-cloud-recommender-v1.
|
101
|
+
ENV["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/credentialfile.json"
|
128
102
|
|
129
|
-
|
130
|
-
|
131
|
-
need a Google Developers service account.
|
103
|
+
client = ::Google::Cloud::Recommender::V1::Recommender::Client.new
|
104
|
+
```
|
132
105
|
|
133
|
-
|
134
|
-
2. Create a new project or click on an existing project.
|
135
|
-
3. Activate the menu in the upper left and select **APIs & Services**. From
|
136
|
-
here, you will enable the APIs that your application requires.
|
106
|
+
### Local ADC file
|
137
107
|
|
138
|
-
|
108
|
+
You can set up a local ADC file with your user credentials for authentication during
|
109
|
+
development. If credentials are not provided in code or in environment variables,
|
110
|
+
then the local ADC credentials are discovered.
|
139
111
|
|
140
|
-
|
112
|
+
Follow the steps in [Quickstart](#quickstart) to set up a local ADC file.
|
141
113
|
|
142
|
-
|
143
|
-
"Service account" to be guided through downloading a new JSON key file.
|
114
|
+
### Google Cloud Platform environments
|
144
115
|
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
116
|
+
When running on Google Cloud Platform (GCP), including Google Compute Engine
|
117
|
+
(GCE), Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud
|
118
|
+
Functions (GCF) and Cloud Run, credentials are retrieved from the attached
|
119
|
+
service account automatically. Code should be written as if already authenticated.
|
149
120
|
|
150
|
-
|
151
|
-
|
121
|
+
For more information, see
|
122
|
+
[Set up ADC for Google Cloud services](https://cloud.google.com/docs/authentication/provide-credentials-adc#attached-sa).
|
@@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb'
|
|
11
11
|
require 'google/type/money_pb'
|
12
12
|
|
13
13
|
|
14
|
-
descriptor_data = "\n0google/cloud/recommender/v1/recommendation.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/type/money.proto\"\xa2\t\n\x0eRecommendation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x1b\n\x13recommender_subtype\x18\x0c \x01(\t\x12\x35\n\x11last_refresh_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x0eprimary_impact\x18\x05 \x01(\x0b\x32#.google.cloud.recommender.v1.Impact\x12>\n\x11\x61\x64\x64itional_impact\x18\x06 \x03(\x0b\x32#.google.cloud.recommender.v1.Impact\x12\x46\n\x08priority\x18\x11 \x01(\x0e\x32\x34.google.cloud.recommender.v1.Recommendation.Priority\x12\x43\n\x07\x63ontent\x18\x07 \x01(\x0b\x32\x32.google.cloud.recommender.v1.RecommendationContent\x12H\n\nstate_info\x18\n \x01(\x0b\x32\x34.google.cloud.recommender.v1.RecommendationStateInfo\x12\x0c\n\x04\x65tag\x18\x0b \x01(\t\x12Y\n\x13\x61ssociated_insights\x18\x0e \x03(\x0b\x32<.google.cloud.recommender.v1.Recommendation.InsightReference\x12\x14\n\x0cxor_group_id\x18\x12 \x01(\t\x1a#\n\x10InsightReference\x12\x0f\n\x07insight\x18\x01 \x01(\t\"D\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x06\n\x02P4\x10\x01\x12\x06\n\x02P3\x10\x02\x12\x06\n\x02P2\x10\x03\x12\x06\n\x02P1\x10\x04:\xda\x03\xea\x41\xd6\x03\n)recommender.googleapis.com/Recommendation\x12\x63projects/{project}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12rbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12\x61\x66olders/{folder}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12morganizations/{organization}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\"\x89\x01\n\x15RecommendationContent\x12\x45\n\x10operation_groups\x18\x02 \x03(\x0b\x32+.google.cloud.recommender.v1.OperationGroup\x12)\n\x08overview\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"L\n\x0eOperationGroup\x12:\n\noperations\x18\x01 \x03(\x0b\x32&.google.cloud.recommender.v1.Operation\"\xd7\x04\n\tOperation\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x10\n\x08resource\x18\x03 \x01(\t\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x17\n\x0fsource_resource\x18\x05 \x01(\t\x12\x13\n\x0bsource_path\x18\x06 \x01(\t\x12\'\n\x05value\x18\x07 \x01(\x0b\x32\x16.google.protobuf.ValueH\x00\x12\x42\n\rvalue_matcher\x18\n \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcherH\x00\x12M\n\x0cpath_filters\x18\x08 \x03(\x0b\x32\x37.google.cloud.recommender.v1.Operation.PathFiltersEntry\x12Z\n\x13path_value_matchers\x18\x0b \x03(\x0b\x32=.google.cloud.recommender.v1.Operation.PathValueMatchersEntry\x1aJ\n\x10PathFiltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x63\n\x16PathValueMatchersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcher:\x02\x38\x01\x42\x0c\n\npath_value\":\n\x0cValueMatcher\x12\x19\n\x0fmatches_pattern\x18\x01 \x01(\tH\x00\x42\x0f\n\rmatch_variant\"
|
14
|
+
descriptor_data = "\n0google/cloud/recommender/v1/recommendation.proto\x12\x1bgoogle.cloud.recommender.v1\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/type/money.proto\"\xa2\t\n\x0eRecommendation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x1b\n\x13recommender_subtype\x18\x0c \x01(\t\x12\x35\n\x11last_refresh_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x0eprimary_impact\x18\x05 \x01(\x0b\x32#.google.cloud.recommender.v1.Impact\x12>\n\x11\x61\x64\x64itional_impact\x18\x06 \x03(\x0b\x32#.google.cloud.recommender.v1.Impact\x12\x46\n\x08priority\x18\x11 \x01(\x0e\x32\x34.google.cloud.recommender.v1.Recommendation.Priority\x12\x43\n\x07\x63ontent\x18\x07 \x01(\x0b\x32\x32.google.cloud.recommender.v1.RecommendationContent\x12H\n\nstate_info\x18\n \x01(\x0b\x32\x34.google.cloud.recommender.v1.RecommendationStateInfo\x12\x0c\n\x04\x65tag\x18\x0b \x01(\t\x12Y\n\x13\x61ssociated_insights\x18\x0e \x03(\x0b\x32<.google.cloud.recommender.v1.Recommendation.InsightReference\x12\x14\n\x0cxor_group_id\x18\x12 \x01(\t\x1a#\n\x10InsightReference\x12\x0f\n\x07insight\x18\x01 \x01(\t\"D\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x06\n\x02P4\x10\x01\x12\x06\n\x02P3\x10\x02\x12\x06\n\x02P2\x10\x03\x12\x06\n\x02P1\x10\x04:\xda\x03\xea\x41\xd6\x03\n)recommender.googleapis.com/Recommendation\x12\x63projects/{project}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12rbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12\x61\x66olders/{folder}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\x12morganizations/{organization}/locations/{location}/recommenders/{recommender}/recommendations/{recommendation}\"\x89\x01\n\x15RecommendationContent\x12\x45\n\x10operation_groups\x18\x02 \x03(\x0b\x32+.google.cloud.recommender.v1.OperationGroup\x12)\n\x08overview\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"L\n\x0eOperationGroup\x12:\n\noperations\x18\x01 \x03(\x0b\x32&.google.cloud.recommender.v1.Operation\"\xd7\x04\n\tOperation\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x10\n\x08resource\x18\x03 \x01(\t\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x17\n\x0fsource_resource\x18\x05 \x01(\t\x12\x13\n\x0bsource_path\x18\x06 \x01(\t\x12\'\n\x05value\x18\x07 \x01(\x0b\x32\x16.google.protobuf.ValueH\x00\x12\x42\n\rvalue_matcher\x18\n \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcherH\x00\x12M\n\x0cpath_filters\x18\x08 \x03(\x0b\x32\x37.google.cloud.recommender.v1.Operation.PathFiltersEntry\x12Z\n\x13path_value_matchers\x18\x0b \x03(\x0b\x32=.google.cloud.recommender.v1.Operation.PathValueMatchersEntry\x1aJ\n\x10PathFiltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x63\n\x16PathValueMatchersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.recommender.v1.ValueMatcher:\x02\x38\x01\x42\x0c\n\npath_value\":\n\x0cValueMatcher\x12\x19\n\x0fmatches_pattern\x18\x01 \x01(\tH\x00\x42\x0f\n\rmatch_variant\"\x93\x01\n\x0e\x43ostProjection\x12 \n\x04\x63ost\x18\x01 \x01(\x0b\x32\x12.google.type.Money\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\x16\x63ost_in_local_currency\x18\x03 \x01(\x0b\x32\x12.google.type.Money\">\n\x12SecurityProjection\x12(\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"Y\n\x18SustainabilityProjection\x12\x10\n\x08kg_c_o2e\x18\x01 \x01(\x01\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xec\x01\n\x15ReliabilityProjection\x12J\n\x05risks\x18\x01 \x03(\x0e\x32;.google.cloud.recommender.v1.ReliabilityProjection.RiskType\x12(\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"]\n\x08RiskType\x12\x19\n\x15RISK_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12SERVICE_DISRUPTION\x10\x01\x12\r\n\tDATA_LOSS\x10\x02\x12\x0f\n\x0b\x41\x43\x43\x45SS_DENY\x10\x03\"\xa8\x04\n\x06Impact\x12>\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32,.google.cloud.recommender.v1.Impact.Category\x12\x46\n\x0f\x63ost_projection\x18\x64 \x01(\x0b\x32+.google.cloud.recommender.v1.CostProjectionH\x00\x12N\n\x13security_projection\x18\x65 \x01(\x0b\x32/.google.cloud.recommender.v1.SecurityProjectionH\x00\x12Z\n\x19sustainability_projection\x18\x66 \x01(\x0b\x32\x35.google.cloud.recommender.v1.SustainabilityProjectionH\x00\x12T\n\x16reliability_projection\x18g \x01(\x0b\x32\x32.google.cloud.recommender.v1.ReliabilityProjectionH\x00\"\x85\x01\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x08\n\x04\x43OST\x10\x01\x12\x0c\n\x08SECURITY\x10\x02\x12\x0f\n\x0bPERFORMANCE\x10\x03\x12\x11\n\rMANAGEABILITY\x10\x04\x12\x12\n\x0eSUSTAINABILITY\x10\x05\x12\x0f\n\x0bRELIABILITY\x10\x06\x42\x0c\n\nprojection\"\xde\x02\n\x17RecommendationStateInfo\x12I\n\x05state\x18\x01 \x01(\x0e\x32:.google.cloud.recommender.v1.RecommendationStateInfo.State\x12_\n\x0estate_metadata\x18\x02 \x03(\x0b\x32G.google.cloud.recommender.v1.RecommendationStateInfo.StateMetadataEntry\x1a\x34\n\x12StateMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0b\n\x07\x43LAIMED\x10\x06\x12\r\n\tSUCCEEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\r\n\tDISMISSED\x10\x05\x42\xde\x03\n\x1f\x63om.google.cloud.recommender.v1P\x01ZAcloud.google.com/go/recommender/apiv1/recommenderpb;recommenderpb\xa2\x02\x04\x43REC\xaa\x02\x1bGoogle.Cloud.Recommender.V1\xea\x41\xcf\x02\n&recommender.googleapis.com/Recommender\x12\x42projects/{project}/locations/{location}/recommenders/{recommender}\x12QbillingAccounts/{billing_account}/locations/{location}/recommenders/{recommender}\x12@folders/{folder}/locations/{location}/recommenders/{recommender}\x12Lorganizations/{organization}/locations/{location}/recommenders/{recommender}b\x06proto3"
|
15
15
|
|
16
16
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
17
17
|
|
@@ -33,6 +33,9 @@ module Google
|
|
33
33
|
# based on analysis of user resources, configuration and monitoring metrics.
|
34
34
|
#
|
35
35
|
class Client
|
36
|
+
# @private
|
37
|
+
DEFAULT_ENDPOINT_TEMPLATE = "recommender.$UNIVERSE_DOMAIN$"
|
38
|
+
|
36
39
|
include Paths
|
37
40
|
|
38
41
|
# @private
|
@@ -121,6 +124,15 @@ module Google
|
|
121
124
|
@config
|
122
125
|
end
|
123
126
|
|
127
|
+
##
|
128
|
+
# The effective universe domain
|
129
|
+
#
|
130
|
+
# @return [String]
|
131
|
+
#
|
132
|
+
def universe_domain
|
133
|
+
@recommender_stub.universe_domain
|
134
|
+
end
|
135
|
+
|
124
136
|
##
|
125
137
|
# Create a new Recommender client object.
|
126
138
|
#
|
@@ -154,8 +166,9 @@ module Google
|
|
154
166
|
credentials = @config.credentials
|
155
167
|
# Use self-signed JWT if the endpoint is unchanged from default,
|
156
168
|
# but only if the default endpoint does not have a region prefix.
|
157
|
-
enable_self_signed_jwt = @config.endpoint
|
158
|
-
|
169
|
+
enable_self_signed_jwt = @config.endpoint.nil? ||
|
170
|
+
(@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
|
171
|
+
!@config.endpoint.split(".").first.include?("-"))
|
159
172
|
credentials ||= Credentials.default scope: @config.scope,
|
160
173
|
enable_self_signed_jwt: enable_self_signed_jwt
|
161
174
|
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
@@ -166,8 +179,10 @@ module Google
|
|
166
179
|
|
167
180
|
@recommender_stub = ::Gapic::ServiceStub.new(
|
168
181
|
::Google::Cloud::Recommender::V1::Recommender::Stub,
|
169
|
-
credentials:
|
170
|
-
endpoint:
|
182
|
+
credentials: credentials,
|
183
|
+
endpoint: @config.endpoint,
|
184
|
+
endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
|
185
|
+
universe_domain: @config.universe_domain,
|
171
186
|
channel_args: @config.channel_args,
|
172
187
|
interceptors: @config.interceptors,
|
173
188
|
channel_pool_config: @config.channel_pool
|
@@ -232,6 +247,8 @@ module Google
|
|
232
247
|
#
|
233
248
|
# * `severity`
|
234
249
|
#
|
250
|
+
# * `targetResources`
|
251
|
+
#
|
235
252
|
# Examples:
|
236
253
|
#
|
237
254
|
# * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
|
@@ -240,8 +257,13 @@ module Google
|
|
240
257
|
#
|
241
258
|
# * `severity = CRITICAL OR severity = HIGH`
|
242
259
|
#
|
260
|
+
# * `targetResources :
|
261
|
+
# //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1`
|
262
|
+
#
|
243
263
|
# * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)`
|
244
264
|
#
|
265
|
+
# The max allowed filter length is 500 characters.
|
266
|
+
#
|
245
267
|
# (These expressions are based on the filter language described at
|
246
268
|
# https://google.aip.dev/160)
|
247
269
|
#
|
@@ -551,6 +573,8 @@ module Google
|
|
551
573
|
#
|
552
574
|
# * `priority`
|
553
575
|
#
|
576
|
+
# * `targetResources`
|
577
|
+
#
|
554
578
|
# Examples:
|
555
579
|
#
|
556
580
|
# * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
|
@@ -559,8 +583,13 @@ module Google
|
|
559
583
|
#
|
560
584
|
# * `priority = P1 OR priority = P2`
|
561
585
|
#
|
586
|
+
# * `targetResources :
|
587
|
+
# //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1`
|
588
|
+
#
|
562
589
|
# * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)`
|
563
590
|
#
|
591
|
+
# The max allowed filter length is 500 characters.
|
592
|
+
#
|
564
593
|
# (These expressions are based on the filter language described at
|
565
594
|
# https://google.aip.dev/160)
|
566
595
|
#
|
@@ -746,7 +775,7 @@ module Google
|
|
746
775
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
747
776
|
#
|
748
777
|
# @param name [::String]
|
749
|
-
# Name of the recommendation.
|
778
|
+
# Required. Name of the recommendation.
|
750
779
|
# @param etag [::String]
|
751
780
|
# Fingerprint of the Recommendation. Provides optimistic locking.
|
752
781
|
#
|
@@ -1523,9 +1552,9 @@ module Google
|
|
1523
1552
|
# end
|
1524
1553
|
#
|
1525
1554
|
# @!attribute [rw] endpoint
|
1526
|
-
#
|
1527
|
-
#
|
1528
|
-
# @return [::String]
|
1555
|
+
# A custom service endpoint, as a hostname or hostname:port. The default is
|
1556
|
+
# nil, indicating to use the default endpoint in the current universe domain.
|
1557
|
+
# @return [::String,nil]
|
1529
1558
|
# @!attribute [rw] credentials
|
1530
1559
|
# Credentials to send with calls. You may provide any of the following types:
|
1531
1560
|
# * (`String`) The path to a service account key file in JSON format
|
@@ -1571,13 +1600,20 @@ module Google
|
|
1571
1600
|
# @!attribute [rw] quota_project
|
1572
1601
|
# A separate project against which to charge quota.
|
1573
1602
|
# @return [::String]
|
1603
|
+
# @!attribute [rw] universe_domain
|
1604
|
+
# The universe domain within which to make requests. This determines the
|
1605
|
+
# default endpoint URL. The default value of nil uses the environment
|
1606
|
+
# universe (usually the default "googleapis.com" universe).
|
1607
|
+
# @return [::String,nil]
|
1574
1608
|
#
|
1575
1609
|
class Configuration
|
1576
1610
|
extend ::Gapic::Config
|
1577
1611
|
|
1612
|
+
# @private
|
1613
|
+
# The endpoint specific to the default "googleapis.com" universe. Deprecated.
|
1578
1614
|
DEFAULT_ENDPOINT = "recommender.googleapis.com"
|
1579
1615
|
|
1580
|
-
config_attr :endpoint,
|
1616
|
+
config_attr :endpoint, nil, ::String, nil
|
1581
1617
|
config_attr :credentials, nil do |value|
|
1582
1618
|
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
1583
1619
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
@@ -1592,6 +1628,7 @@ module Google
|
|
1592
1628
|
config_attr :metadata, nil, ::Hash, nil
|
1593
1629
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
1594
1630
|
config_attr :quota_project, nil, ::String, nil
|
1631
|
+
config_attr :universe_domain, nil, ::String, nil
|
1595
1632
|
|
1596
1633
|
# @private
|
1597
1634
|
def initialize parent_config = nil
|
@@ -35,6 +35,9 @@ module Google
|
|
35
35
|
# based on analysis of user resources, configuration and monitoring metrics.
|
36
36
|
#
|
37
37
|
class Client
|
38
|
+
# @private
|
39
|
+
DEFAULT_ENDPOINT_TEMPLATE = "recommender.$UNIVERSE_DOMAIN$"
|
40
|
+
|
38
41
|
include Paths
|
39
42
|
|
40
43
|
# @private
|
@@ -123,6 +126,15 @@ module Google
|
|
123
126
|
@config
|
124
127
|
end
|
125
128
|
|
129
|
+
##
|
130
|
+
# The effective universe domain
|
131
|
+
#
|
132
|
+
# @return [String]
|
133
|
+
#
|
134
|
+
def universe_domain
|
135
|
+
@recommender_stub.universe_domain
|
136
|
+
end
|
137
|
+
|
126
138
|
##
|
127
139
|
# Create a new Recommender REST client object.
|
128
140
|
#
|
@@ -150,8 +162,9 @@ module Google
|
|
150
162
|
credentials = @config.credentials
|
151
163
|
# Use self-signed JWT if the endpoint is unchanged from default,
|
152
164
|
# but only if the default endpoint does not have a region prefix.
|
153
|
-
enable_self_signed_jwt = @config.endpoint
|
154
|
-
|
165
|
+
enable_self_signed_jwt = @config.endpoint.nil? ||
|
166
|
+
(@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
|
167
|
+
!@config.endpoint.split(".").first.include?("-"))
|
155
168
|
credentials ||= Credentials.default scope: @config.scope,
|
156
169
|
enable_self_signed_jwt: enable_self_signed_jwt
|
157
170
|
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
@@ -161,7 +174,12 @@ module Google
|
|
161
174
|
@quota_project_id = @config.quota_project
|
162
175
|
@quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
|
163
176
|
|
164
|
-
@recommender_stub = ::Google::Cloud::Recommender::V1::Recommender::Rest::ServiceStub.new
|
177
|
+
@recommender_stub = ::Google::Cloud::Recommender::V1::Recommender::Rest::ServiceStub.new(
|
178
|
+
endpoint: @config.endpoint,
|
179
|
+
endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
|
180
|
+
universe_domain: @config.universe_domain,
|
181
|
+
credentials: credentials
|
182
|
+
)
|
165
183
|
end
|
166
184
|
|
167
185
|
# Service calls
|
@@ -222,6 +240,8 @@ module Google
|
|
222
240
|
#
|
223
241
|
# * `severity`
|
224
242
|
#
|
243
|
+
# * `targetResources`
|
244
|
+
#
|
225
245
|
# Examples:
|
226
246
|
#
|
227
247
|
# * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
|
@@ -230,8 +250,13 @@ module Google
|
|
230
250
|
#
|
231
251
|
# * `severity = CRITICAL OR severity = HIGH`
|
232
252
|
#
|
253
|
+
# * `targetResources :
|
254
|
+
# //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1`
|
255
|
+
#
|
233
256
|
# * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)`
|
234
257
|
#
|
258
|
+
# The max allowed filter length is 500 characters.
|
259
|
+
#
|
235
260
|
# (These expressions are based on the filter language described at
|
236
261
|
# https://google.aip.dev/160)
|
237
262
|
# @yield [result, operation] Access the result along with the TransportOperation object
|
@@ -520,6 +545,8 @@ module Google
|
|
520
545
|
#
|
521
546
|
# * `priority`
|
522
547
|
#
|
548
|
+
# * `targetResources`
|
549
|
+
#
|
523
550
|
# Examples:
|
524
551
|
#
|
525
552
|
# * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
|
@@ -528,8 +555,13 @@ module Google
|
|
528
555
|
#
|
529
556
|
# * `priority = P1 OR priority = P2`
|
530
557
|
#
|
558
|
+
# * `targetResources :
|
559
|
+
# //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1`
|
560
|
+
#
|
531
561
|
# * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)`
|
532
562
|
#
|
563
|
+
# The max allowed filter length is 500 characters.
|
564
|
+
#
|
533
565
|
# (These expressions are based on the filter language described at
|
534
566
|
# https://google.aip.dev/160)
|
535
567
|
# @yield [result, operation] Access the result along with the TransportOperation object
|
@@ -701,7 +733,7 @@ module Google
|
|
701
733
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
702
734
|
#
|
703
735
|
# @param name [::String]
|
704
|
-
# Name of the recommendation.
|
736
|
+
# Required. Name of the recommendation.
|
705
737
|
# @param etag [::String]
|
706
738
|
# Fingerprint of the Recommendation. Provides optimistic locking.
|
707
739
|
# @yield [result, operation] Access the result along with the TransportOperation object
|
@@ -1422,9 +1454,9 @@ module Google
|
|
1422
1454
|
# end
|
1423
1455
|
#
|
1424
1456
|
# @!attribute [rw] endpoint
|
1425
|
-
#
|
1426
|
-
#
|
1427
|
-
# @return [::String]
|
1457
|
+
# A custom service endpoint, as a hostname or hostname:port. The default is
|
1458
|
+
# nil, indicating to use the default endpoint in the current universe domain.
|
1459
|
+
# @return [::String,nil]
|
1428
1460
|
# @!attribute [rw] credentials
|
1429
1461
|
# Credentials to send with calls. You may provide any of the following types:
|
1430
1462
|
# * (`String`) The path to a service account key file in JSON format
|
@@ -1461,13 +1493,20 @@ module Google
|
|
1461
1493
|
# @!attribute [rw] quota_project
|
1462
1494
|
# A separate project against which to charge quota.
|
1463
1495
|
# @return [::String]
|
1496
|
+
# @!attribute [rw] universe_domain
|
1497
|
+
# The universe domain within which to make requests. This determines the
|
1498
|
+
# default endpoint URL. The default value of nil uses the environment
|
1499
|
+
# universe (usually the default "googleapis.com" universe).
|
1500
|
+
# @return [::String,nil]
|
1464
1501
|
#
|
1465
1502
|
class Configuration
|
1466
1503
|
extend ::Gapic::Config
|
1467
1504
|
|
1505
|
+
# @private
|
1506
|
+
# The endpoint specific to the default "googleapis.com" universe. Deprecated.
|
1468
1507
|
DEFAULT_ENDPOINT = "recommender.googleapis.com"
|
1469
1508
|
|
1470
|
-
config_attr :endpoint,
|
1509
|
+
config_attr :endpoint, nil, ::String, nil
|
1471
1510
|
config_attr :credentials, nil do |value|
|
1472
1511
|
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
1473
1512
|
allowed.any? { |klass| klass === value }
|
@@ -1479,6 +1518,7 @@ module Google
|
|
1479
1518
|
config_attr :metadata, nil, ::Hash, nil
|
1480
1519
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
1481
1520
|
config_attr :quota_project, nil, ::String, nil
|
1521
|
+
config_attr :universe_domain, nil, ::String, nil
|
1482
1522
|
|
1483
1523
|
# @private
|
1484
1524
|
def initialize parent_config = nil
|
@@ -30,16 +30,28 @@ module Google
|
|
30
30
|
# including transcoding, making the REST call, and deserialing the response.
|
31
31
|
#
|
32
32
|
class ServiceStub
|
33
|
-
def initialize endpoint:, credentials:
|
33
|
+
def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
|
34
34
|
# These require statements are intentionally placed here to initialize
|
35
35
|
# the REST modules only when it's required.
|
36
36
|
require "gapic/rest"
|
37
37
|
|
38
|
-
@client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
|
38
|
+
@client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
|
39
|
+
endpoint_template: endpoint_template,
|
40
|
+
universe_domain: universe_domain,
|
41
|
+
credentials: credentials,
|
39
42
|
numeric_enums: true,
|
40
43
|
raise_faraday_errors: false
|
41
44
|
end
|
42
45
|
|
46
|
+
##
|
47
|
+
# The effective universe domain
|
48
|
+
#
|
49
|
+
# @return [String]
|
50
|
+
#
|
51
|
+
def universe_domain
|
52
|
+
@client_stub.universe_domain
|
53
|
+
end
|
54
|
+
|
43
55
|
##
|
44
56
|
# Baseline implementation for the list_insights REST call
|
45
57
|
#
|
@@ -21,6 +21,7 @@ module Google
|
|
21
21
|
module Api
|
22
22
|
# Required information for every language.
|
23
23
|
# @!attribute [rw] reference_docs_uri
|
24
|
+
# @deprecated This field is deprecated and may be removed in the next major version update.
|
24
25
|
# @return [::String]
|
25
26
|
# Link to automatically generated reference documentation. Example:
|
26
27
|
# https://cloud.google.com/nodejs/docs/reference/asset/latest
|
@@ -304,6 +305,19 @@ module Google
|
|
304
305
|
# seconds: 360 # 6 minutes
|
305
306
|
# total_poll_timeout:
|
306
307
|
# seconds: 54000 # 90 minutes
|
308
|
+
# @!attribute [rw] auto_populated_fields
|
309
|
+
# @return [::Array<::String>]
|
310
|
+
# List of top-level fields of the request message, that should be
|
311
|
+
# automatically populated by the client libraries based on their
|
312
|
+
# (google.api.field_info).format. Currently supported format: UUID4.
|
313
|
+
#
|
314
|
+
# Example of a YAML configuration:
|
315
|
+
#
|
316
|
+
# publishing:
|
317
|
+
# method_settings:
|
318
|
+
# - selector: google.example.v1.ExampleService.CreateExample
|
319
|
+
# auto_populated_fields:
|
320
|
+
# - request_id
|
307
321
|
class MethodSettings
|
308
322
|
include ::Google::Protobuf::MessageExts
|
309
323
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -264,6 +264,9 @@ module Google
|
|
264
264
|
# @!attribute [rw] duration
|
265
265
|
# @return [::Google::Protobuf::Duration]
|
266
266
|
# Duration for which this cost applies.
|
267
|
+
# @!attribute [rw] cost_in_local_currency
|
268
|
+
# @return [::Google::Type::Money]
|
269
|
+
# The approximate cost savings in the billing account's local currency.
|
267
270
|
class CostProjection
|
268
271
|
include ::Google::Protobuf::MessageExts
|
269
272
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -335,7 +338,7 @@ module Google
|
|
335
338
|
# Use with CategoryType.SUSTAINABILITY
|
336
339
|
# @!attribute [rw] reliability_projection
|
337
340
|
# @return [::Google::Cloud::Recommender::V1::ReliabilityProjection]
|
338
|
-
# Use with CategoryType.
|
341
|
+
# Use with CategoryType.RELIABILITY
|
339
342
|
class Impact
|
340
343
|
include ::Google::Protobuf::MessageExts
|
341
344
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -63,6 +63,8 @@ module Google
|
|
63
63
|
#
|
64
64
|
# * `severity`
|
65
65
|
#
|
66
|
+
# * `targetResources`
|
67
|
+
#
|
66
68
|
# Examples:
|
67
69
|
#
|
68
70
|
# * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
|
@@ -71,8 +73,13 @@ module Google
|
|
71
73
|
#
|
72
74
|
# * `severity = CRITICAL OR severity = HIGH`
|
73
75
|
#
|
76
|
+
# * `targetResources :
|
77
|
+
# //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1`
|
78
|
+
#
|
74
79
|
# * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)`
|
75
80
|
#
|
81
|
+
# The max allowed filter length is 500 characters.
|
82
|
+
#
|
76
83
|
# (These expressions are based on the filter language described at
|
77
84
|
# https://google.aip.dev/160)
|
78
85
|
class ListInsightsRequest
|
@@ -169,6 +176,8 @@ module Google
|
|
169
176
|
#
|
170
177
|
# * `priority`
|
171
178
|
#
|
179
|
+
# * `targetResources`
|
180
|
+
#
|
172
181
|
# Examples:
|
173
182
|
#
|
174
183
|
# * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED`
|
@@ -177,8 +186,13 @@ module Google
|
|
177
186
|
#
|
178
187
|
# * `priority = P1 OR priority = P2`
|
179
188
|
#
|
189
|
+
# * `targetResources :
|
190
|
+
# //compute.googleapis.com/projects/1234/zones/us-central1-a/instances/instance-1`
|
191
|
+
#
|
180
192
|
# * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)`
|
181
193
|
#
|
194
|
+
# The max allowed filter length is 500 characters.
|
195
|
+
#
|
182
196
|
# (These expressions are based on the filter language described at
|
183
197
|
# https://google.aip.dev/160)
|
184
198
|
class ListRecommendationsRequest
|
@@ -211,7 +225,7 @@ module Google
|
|
211
225
|
# Request for the `MarkRecommendationDismissed` Method.
|
212
226
|
# @!attribute [rw] name
|
213
227
|
# @return [::String]
|
214
|
-
# Name of the recommendation.
|
228
|
+
# Required. Name of the recommendation.
|
215
229
|
# @!attribute [rw] etag
|
216
230
|
# @return [::String]
|
217
231
|
# Fingerprint of the Recommendation. Provides optimistic locking.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-recommender-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.21.1
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 2.a
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.21.1
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.a
|
@@ -220,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
220
|
- !ruby/object:Gem::Version
|
221
221
|
version: '0'
|
222
222
|
requirements: []
|
223
|
-
rubygems_version: 3.
|
223
|
+
rubygems_version: 3.5.3
|
224
224
|
signing_key:
|
225
225
|
specification_version: 4
|
226
226
|
summary: API Client library for the Recommender V1 API
|