Skip to main content

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_metric name
descriptions
an array of google_project_metric description
metric_filters
an array of google_project_metric filter
metric_descriptors
an array of google_project_metric metric_descriptor
label_extractors
an array of google_project_metric label_extractors
value_extractors
an array of google_project_metric value_extractor
bucket_options
an array of google_project_metric bucket_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.

Was this page helpful?