On this page
google_project_metrics resource
Syntax
A google_project_metrics is used to test a Google Metric resource
Examples
describe google_project_metrics(project: 'chef-gcp-inspec') do
it { should exist }
its('metric_filters') { should include 'resource.type=gae_app AND severity>=ERROR' }
its('metric_names') { should include 'some/metric' }
end
describe.one do
google_project_metrics(project: 'chef-gcp-inspec').metric_types.each do |metric_type|
describe metric_type do
it { should match 'some/metric' }
end
end
end
Test that there are no more than a specified number of metrics available for the project
describe google_project_metrics(project: 'chef-inspec-gcp') do
its('count') { should be <= 100}
end
Test that an expected metric name is available for the project
describe google_project_metrics(project: 'chef-inspec-gcp') do
its('metric_names') { should include "metric-name" }
end
Test that a subset of all metrics with name matching “project” have a particular writer identity
google_project_metrics(project: 'chef-inspec-gcp').where(metric_name: /project/).metric_names.each do |metric_name|
describe google_project_metric(project: 'chef-inspec-gcp', metric: metric_name) do
its('filter') { should eq "(protoPayload.serviceName=\"cloudresourcemanager.googleapis.com\")" }
end
end
Properties
Properties that can be accessed from the google_project_metrics resource:
See the google_project_metric resource for more information.
-
metric_names -
an array of
google_project_metricname -
descriptions -
an array of
google_project_metricdescription -
metric_filters -
an array of
google_project_metricfilter -
metric_descriptors -
an array of
google_project_metricmetric_descriptor -
label_extractors -
an array of
google_project_metriclabel_extractors -
value_extractors -
an array of
google_project_metricvalue_extractor -
bucket_options -
an array of
google_project_metricbucket_options
Filter Criteria
This resource supports all of the above properties as filter criteria, which can be used with where as a block or a method.
GCP Permissions
Ensure the Stackdriver Logging API is enabled for the current project.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_project_metrics/