google-cloud-recommender-v1 0.5.1 → 0.8.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/LICENSE.md +188 -190
- data/README.md +66 -2
- data/lib/google/cloud/recommender/v1.rb +3 -0
- data/lib/google/cloud/recommender/v1/recommender/client.rb +48 -20
- data/lib/google/cloud/recommender/v1/recommender/paths.rb +268 -40
- data/lib/google/cloud/recommender/v1/recommender_service_services_pb.rb +8 -8
- data/lib/google/cloud/recommender/v1/version.rb +1 -1
- data/proto_docs/google/api/field_behavior.rb +6 -0
- data/proto_docs/google/api/resource.rb +50 -14
- data/proto_docs/google/cloud/recommender/v1/recommendation.rb +3 -3
- data/proto_docs/google/cloud/recommender/v1/recommender_service.rb +4 -0
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- metadata +9 -7
| @@ -38,23 +38,23 @@ module Google | |
| 38 38 |  | 
| 39 39 | 
             
                        # Lists insights for a Cloud project. Requires the recommender.*.list IAM
         | 
| 40 40 | 
             
                        # permission for the specified insight type.
         | 
| 41 | 
            -
                        rpc :ListInsights, Google::Cloud::Recommender::V1::ListInsightsRequest, Google::Cloud::Recommender::V1::ListInsightsResponse
         | 
| 41 | 
            +
                        rpc :ListInsights, ::Google::Cloud::Recommender::V1::ListInsightsRequest, ::Google::Cloud::Recommender::V1::ListInsightsResponse
         | 
| 42 42 | 
             
                        # Gets the requested insight. Requires the recommender.*.get IAM permission
         | 
| 43 43 | 
             
                        # for the specified insight type.
         | 
| 44 | 
            -
                        rpc :GetInsight, Google::Cloud::Recommender::V1::GetInsightRequest, Google::Cloud::Recommender::V1::Insight
         | 
| 44 | 
            +
                        rpc :GetInsight, ::Google::Cloud::Recommender::V1::GetInsightRequest, ::Google::Cloud::Recommender::V1::Insight
         | 
| 45 45 | 
             
                        # Marks the Insight State as Accepted. Users can use this method to
         | 
| 46 46 | 
             
                        # indicate to the Recommender API that they have applied some action based
         | 
| 47 47 | 
             
                        # on the insight. This stops the insight content from being updated.
         | 
| 48 48 | 
             
                        #
         | 
| 49 49 | 
             
                        # MarkInsightAccepted can be applied to insights in ACTIVE state. Requires
         | 
| 50 50 | 
             
                        # the recommender.*.update IAM permission for the specified insight.
         | 
| 51 | 
            -
                        rpc :MarkInsightAccepted, Google::Cloud::Recommender::V1::MarkInsightAcceptedRequest, Google::Cloud::Recommender::V1::Insight
         | 
| 51 | 
            +
                        rpc :MarkInsightAccepted, ::Google::Cloud::Recommender::V1::MarkInsightAcceptedRequest, ::Google::Cloud::Recommender::V1::Insight
         | 
| 52 52 | 
             
                        # Lists recommendations for a Cloud project. Requires the recommender.*.list
         | 
| 53 53 | 
             
                        # IAM permission for the specified recommender.
         | 
| 54 | 
            -
                        rpc :ListRecommendations, Google::Cloud::Recommender::V1::ListRecommendationsRequest, Google::Cloud::Recommender::V1::ListRecommendationsResponse
         | 
| 54 | 
            +
                        rpc :ListRecommendations, ::Google::Cloud::Recommender::V1::ListRecommendationsRequest, ::Google::Cloud::Recommender::V1::ListRecommendationsResponse
         | 
| 55 55 | 
             
                        # Gets the requested recommendation. Requires the recommender.*.get
         | 
| 56 56 | 
             
                        # IAM permission for the specified recommender.
         | 
| 57 | 
            -
                        rpc :GetRecommendation, Google::Cloud::Recommender::V1::GetRecommendationRequest, Google::Cloud::Recommender::V1::Recommendation
         | 
| 57 | 
            +
                        rpc :GetRecommendation, ::Google::Cloud::Recommender::V1::GetRecommendationRequest, ::Google::Cloud::Recommender::V1::Recommendation
         | 
| 58 58 | 
             
                        # Marks the Recommendation State as Claimed. Users can use this method to
         | 
| 59 59 | 
             
                        # indicate to the Recommender API that they are starting to apply the
         | 
| 60 60 | 
             
                        # recommendation themselves. This stops the recommendation content from being
         | 
| @@ -65,7 +65,7 @@ module Google | |
| 65 65 | 
             
                        #
         | 
| 66 66 | 
             
                        # Requires the recommender.*.update IAM permission for the specified
         | 
| 67 67 | 
             
                        # recommender.
         | 
| 68 | 
            -
                        rpc :MarkRecommendationClaimed, Google::Cloud::Recommender::V1::MarkRecommendationClaimedRequest, Google::Cloud::Recommender::V1::Recommendation
         | 
| 68 | 
            +
                        rpc :MarkRecommendationClaimed, ::Google::Cloud::Recommender::V1::MarkRecommendationClaimedRequest, ::Google::Cloud::Recommender::V1::Recommendation
         | 
| 69 69 | 
             
                        # Marks the Recommendation State as Succeeded. Users can use this method to
         | 
| 70 70 | 
             
                        # indicate to the Recommender API that they have applied the recommendation
         | 
| 71 71 | 
             
                        # themselves, and the operation was successful. This stops the recommendation
         | 
| @@ -77,7 +77,7 @@ module Google | |
| 77 77 | 
             
                        #
         | 
| 78 78 | 
             
                        # Requires the recommender.*.update IAM permission for the specified
         | 
| 79 79 | 
             
                        # recommender.
         | 
| 80 | 
            -
                        rpc :MarkRecommendationSucceeded, Google::Cloud::Recommender::V1::MarkRecommendationSucceededRequest, Google::Cloud::Recommender::V1::Recommendation
         | 
| 80 | 
            +
                        rpc :MarkRecommendationSucceeded, ::Google::Cloud::Recommender::V1::MarkRecommendationSucceededRequest, ::Google::Cloud::Recommender::V1::Recommendation
         | 
| 81 81 | 
             
                        # Marks the Recommendation State as Failed. Users can use this method to
         | 
| 82 82 | 
             
                        # indicate to the Recommender API that they have applied the recommendation
         | 
| 83 83 | 
             
                        # themselves, and the operation failed. This stops the recommendation content
         | 
| @@ -89,7 +89,7 @@ module Google | |
| 89 89 | 
             
                        #
         | 
| 90 90 | 
             
                        # Requires the recommender.*.update IAM permission for the specified
         | 
| 91 91 | 
             
                        # recommender.
         | 
| 92 | 
            -
                        rpc :MarkRecommendationFailed, Google::Cloud::Recommender::V1::MarkRecommendationFailedRequest, Google::Cloud::Recommender::V1::Recommendation
         | 
| 92 | 
            +
                        rpc :MarkRecommendationFailed, ::Google::Cloud::Recommender::V1::MarkRecommendationFailedRequest, ::Google::Cloud::Recommender::V1::Recommendation
         | 
| 93 93 | 
             
                      end
         | 
| 94 94 |  | 
| 95 95 | 
             
                      Stub = Service.rpc_stub_class
         | 
| @@ -54,6 +54,12 @@ module Google | |
| 54 54 | 
             
                  # This indicates that the field may be set once in a request to create a
         | 
| 55 55 | 
             
                  # resource, but may not be changed thereafter.
         | 
| 56 56 | 
             
                  IMMUTABLE = 5
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                  # Denotes that a (repeated) field is an unordered list.
         | 
| 59 | 
            +
                  # This indicates that the service may provide the elements of the list
         | 
| 60 | 
            +
                  # in any arbitrary order, rather than the order the user originally
         | 
| 61 | 
            +
                  # provided. Additionally, the list's order may or may not be stable.
         | 
| 62 | 
            +
                  UNORDERED_LIST = 6
         | 
| 57 63 | 
             
                end
         | 
| 58 64 | 
             
              end
         | 
| 59 65 | 
             
            end
         | 
| @@ -43,12 +43,12 @@ module Google | |
| 43 43 | 
             
                #
         | 
| 44 44 | 
             
                # The ResourceDescriptor Yaml config will look like:
         | 
| 45 45 | 
             
                #
         | 
| 46 | 
            -
                # | 
| 47 | 
            -
                # | 
| 48 | 
            -
                # | 
| 49 | 
            -
                # | 
| 50 | 
            -
                # | 
| 51 | 
            -
                # | 
| 46 | 
            +
                #     resources:
         | 
| 47 | 
            +
                #     - type: "pubsub.googleapis.com/Topic"
         | 
| 48 | 
            +
                #       name_descriptor:
         | 
| 49 | 
            +
                #         - pattern: "projects/{project}/topics/{topic}"
         | 
| 50 | 
            +
                #           parent_type: "cloudresourcemanager.googleapis.com/Project"
         | 
| 51 | 
            +
                #           parent_name_extractor: "projects/{project}"
         | 
| 52 52 | 
             
                #
         | 
| 53 53 | 
             
                # Sometimes, resources have multiple patterns, typically because they can
         | 
| 54 54 | 
             
                # live under multiple parents.
         | 
| @@ -183,15 +183,24 @@ module Google | |
| 183 183 | 
             
                #         }
         | 
| 184 184 | 
             
                # @!attribute [rw] plural
         | 
| 185 185 | 
             
                #   @return [::String]
         | 
| 186 | 
            -
                #     The plural name used in the resource name, such as | 
| 187 | 
            -
                #     the name of 'projects/\\{project}' | 
| 188 | 
            -
                #      | 
| 186 | 
            +
                #     The plural name used in the resource name and permission names, such as
         | 
| 187 | 
            +
                #     'projects' for the resource name of 'projects/\\{project}' and the permission
         | 
| 188 | 
            +
                #     name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
         | 
| 189 | 
            +
                #     concept of the `plural` field in k8s CRD spec
         | 
| 189 190 | 
             
                #     https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
         | 
| 191 | 
            +
                #
         | 
| 192 | 
            +
                #     Note: The plural form is required even for singleton resources. See
         | 
| 193 | 
            +
                #     https://aip.dev/156
         | 
| 190 194 | 
             
                # @!attribute [rw] singular
         | 
| 191 195 | 
             
                #   @return [::String]
         | 
| 192 196 | 
             
                #     The same concept of the `singular` field in k8s CRD spec
         | 
| 193 197 | 
             
                #     https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
         | 
| 194 198 | 
             
                #     Such as "project" for the `resourcemanager.googleapis.com/Project` type.
         | 
| 199 | 
            +
                # @!attribute [rw] style
         | 
| 200 | 
            +
                #   @return [::Array<::Google::Api::ResourceDescriptor::Style>]
         | 
| 201 | 
            +
                #     Style flag(s) for this resource.
         | 
| 202 | 
            +
                #     These indicate that a resource is expected to conform to a given
         | 
| 203 | 
            +
                #     style. See the specific style flags for additional information.
         | 
| 195 204 | 
             
                class ResourceDescriptor
         | 
| 196 205 | 
             
                  include ::Google::Protobuf::MessageExts
         | 
| 197 206 | 
             
                  extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -211,6 +220,22 @@ module Google | |
| 211 220 | 
             
                    # that from being necessary once there are multiple patterns.)
         | 
| 212 221 | 
             
                    FUTURE_MULTI_PATTERN = 2
         | 
| 213 222 | 
             
                  end
         | 
| 223 | 
            +
             | 
| 224 | 
            +
                  # A flag representing a specific style that a resource claims to conform to.
         | 
| 225 | 
            +
                  module Style
         | 
| 226 | 
            +
                    # The unspecified value. Do not use.
         | 
| 227 | 
            +
                    STYLE_UNSPECIFIED = 0
         | 
| 228 | 
            +
             | 
| 229 | 
            +
                    # This resource is intended to be "declarative-friendly".
         | 
| 230 | 
            +
                    #
         | 
| 231 | 
            +
                    # Declarative-friendly resources must be more strictly consistent, and
         | 
| 232 | 
            +
                    # setting this to true communicates to tools that this resource should
         | 
| 233 | 
            +
                    # adhere to declarative-friendly expectations.
         | 
| 234 | 
            +
                    #
         | 
| 235 | 
            +
                    # Note: This is used by the API linter (linter.aip.dev) to enable
         | 
| 236 | 
            +
                    # additional checks.
         | 
| 237 | 
            +
                    DECLARATIVE_FRIENDLY = 1
         | 
| 238 | 
            +
                  end
         | 
| 214 239 | 
             
                end
         | 
| 215 240 |  | 
| 216 241 | 
             
                # Defines a proto annotation that describes a string field that refers to
         | 
| @@ -226,6 +251,17 @@ module Google | |
| 226 251 | 
             
                #             type: "pubsub.googleapis.com/Topic"
         | 
| 227 252 | 
             
                #           }];
         | 
| 228 253 | 
             
                #         }
         | 
| 254 | 
            +
                #
         | 
| 255 | 
            +
                #     Occasionally, a field may reference an arbitrary resource. In this case,
         | 
| 256 | 
            +
                #     APIs use the special value * in their resource reference.
         | 
| 257 | 
            +
                #
         | 
| 258 | 
            +
                #     Example:
         | 
| 259 | 
            +
                #
         | 
| 260 | 
            +
                #         message GetIamPolicyRequest {
         | 
| 261 | 
            +
                #           string resource = 2 [(google.api.resource_reference) = {
         | 
| 262 | 
            +
                #             type: "*"
         | 
| 263 | 
            +
                #           }];
         | 
| 264 | 
            +
                #         }
         | 
| 229 265 | 
             
                # @!attribute [rw] child_type
         | 
| 230 266 | 
             
                #   @return [::String]
         | 
| 231 267 | 
             
                #     The resource type of a child collection that the annotated field
         | 
| @@ -234,11 +270,11 @@ module Google | |
| 234 270 | 
             
                #
         | 
| 235 271 | 
             
                #     Example:
         | 
| 236 272 | 
             
                #
         | 
| 237 | 
            -
                # | 
| 238 | 
            -
                # | 
| 239 | 
            -
                # | 
| 240 | 
            -
                # | 
| 241 | 
            -
                # | 
| 273 | 
            +
                #         message ListLogEntriesRequest {
         | 
| 274 | 
            +
                #           string parent = 1 [(google.api.resource_reference) = {
         | 
| 275 | 
            +
                #             child_type: "logging.googleapis.com/LogEntry"
         | 
| 276 | 
            +
                #           };
         | 
| 277 | 
            +
                #         }
         | 
| 242 278 | 
             
                class ResourceReference
         | 
| 243 279 | 
             
                  include ::Google::Protobuf::MessageExts
         | 
| 244 280 | 
             
                  extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -163,12 +163,12 @@ module Google | |
| 163 163 | 
             
                    #       "/versions/*/targetSize/percent": 20
         | 
| 164 164 | 
             
                    #      }
         | 
| 165 165 | 
             
                    #     * Example: {
         | 
| 166 | 
            -
                    #       "/bindings/*/role": "roles/ | 
| 166 | 
            +
                    #       "/bindings/*/role": "roles/owner"
         | 
| 167 167 | 
             
                    #       "/bindings/*/condition" : null
         | 
| 168 168 | 
             
                    #      }
         | 
| 169 169 | 
             
                    #     * Example: {
         | 
| 170 | 
            -
                    #       "/bindings/*/role": "roles/ | 
| 171 | 
            -
                    #       "/bindings/*/members/*" : ["x@ | 
| 170 | 
            +
                    #       "/bindings/*/role": "roles/owner"
         | 
| 171 | 
            +
                    #       "/bindings/*/members/*" : ["x@example.com", "y@example.com"]
         | 
| 172 172 | 
             
                    #      }
         | 
| 173 173 | 
             
                    #     When both path_filters and path_value_matchers are set, an implicit AND
         | 
| 174 174 | 
             
                    #     must be performed.
         | 
| @@ -32,6 +32,8 @@ module Google | |
| 32 32 | 
             
                    #
         | 
| 33 33 | 
             
                    #     LOCATION here refers to GCP Locations:
         | 
| 34 34 | 
             
                    #     https://cloud.google.com/about/locations/
         | 
| 35 | 
            +
                    #     INSIGHT_TYPE_ID refers to supported insight types:
         | 
| 36 | 
            +
                    #     https://cloud.google.com/recommender/docs/insights/insight-types.)
         | 
| 35 37 | 
             
                    # @!attribute [rw] page_size
         | 
| 36 38 | 
             
                    #   @return [::Integer]
         | 
| 37 39 | 
             
                    #     Optional. The maximum number of results to return from this request.  Non-positive
         | 
| @@ -111,6 +113,8 @@ module Google | |
| 111 113 | 
             
                    #
         | 
| 112 114 | 
             
                    #     LOCATION here refers to GCP Locations:
         | 
| 113 115 | 
             
                    #     https://cloud.google.com/about/locations/
         | 
| 116 | 
            +
                    #     RECOMMENDER_ID refers to supported recommenders:
         | 
| 117 | 
            +
                    #     https://cloud.google.com/recommender/docs/recommenders.
         | 
| 114 118 | 
             
                    # @!attribute [rw] page_size
         | 
| 115 119 | 
             
                    #   @return [::Integer]
         | 
| 116 120 | 
             
                    #     Optional. The maximum number of results to return from this request.  Non-positive
         | 
| @@ -70,7 +70,16 @@ module Google | |
| 70 70 | 
             
                #         .setNanos((int) ((millis % 1000) * 1000000)).build();
         | 
| 71 71 | 
             
                #
         | 
| 72 72 | 
             
                #
         | 
| 73 | 
            -
                # Example 5: Compute Timestamp from  | 
| 73 | 
            +
                # Example 5: Compute Timestamp from Java `Instant.now()`.
         | 
| 74 | 
            +
                #
         | 
| 75 | 
            +
                #     Instant now = Instant.now();
         | 
| 76 | 
            +
                #
         | 
| 77 | 
            +
                #     Timestamp timestamp =
         | 
| 78 | 
            +
                #         Timestamp.newBuilder().setSeconds(now.getEpochSecond())
         | 
| 79 | 
            +
                #             .setNanos(now.getNano()).build();
         | 
| 80 | 
            +
                #
         | 
| 81 | 
            +
                #
         | 
| 82 | 
            +
                # Example 6: Compute Timestamp from current time in Python.
         | 
| 74 83 | 
             
                #
         | 
| 75 84 | 
             
                #     timestamp = Timestamp()
         | 
| 76 85 | 
             
                #     timestamp.GetCurrentTime()
         | 
    
        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.8.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: 2021-03-09 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: gapic-common
         | 
| @@ -44,14 +44,14 @@ dependencies: | |
| 44 44 | 
             
                requirements:
         | 
| 45 45 | 
             
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: 1. | 
| 47 | 
            +
                    version: 1.25.1
         | 
| 48 48 | 
             
              type: :development
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: 1. | 
| 54 | 
            +
                    version: 1.25.1
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 56 | 
             
              name: minitest
         | 
| 57 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -151,7 +151,9 @@ dependencies: | |
| 151 151 | 
             
                  - !ruby/object:Gem::Version
         | 
| 152 152 | 
             
                    version: '0.9'
         | 
| 153 153 | 
             
            description: Recommender is a service on Google Cloud that provides usage recommendations
         | 
| 154 | 
            -
              for Cloud products and services.
         | 
| 154 | 
            +
              for Cloud products and services. Note that google-cloud-recommender-v1 is a version-specific
         | 
| 155 | 
            +
              client library. For most uses, we recommend installing the main client library google-cloud-recommender
         | 
| 156 | 
            +
              instead. See the readme for more details.
         | 
| 155 157 | 
             
            email: googleapis-packages@google.com
         | 
| 156 158 | 
             
            executables: []
         | 
| 157 159 | 
             
            extensions: []
         | 
| @@ -194,14 +196,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 194 196 | 
             
              requirements:
         | 
| 195 197 | 
             
              - - ">="
         | 
| 196 198 | 
             
                - !ruby/object:Gem::Version
         | 
| 197 | 
            -
                  version: '2. | 
| 199 | 
            +
                  version: '2.5'
         | 
| 198 200 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 199 201 | 
             
              requirements:
         | 
| 200 202 | 
             
              - - ">="
         | 
| 201 203 | 
             
                - !ruby/object:Gem::Version
         | 
| 202 204 | 
             
                  version: '0'
         | 
| 203 205 | 
             
            requirements: []
         | 
| 204 | 
            -
            rubygems_version: 3. | 
| 206 | 
            +
            rubygems_version: 3.2.13
         | 
| 205 207 | 
             
            signing_key: 
         | 
| 206 208 | 
             
            specification_version: 4
         | 
| 207 209 | 
             
            summary: API Client library for the Recommender V1 API
         |