Syntax
A google_sql_database_instances
is used to test a Google DatabaseInstance resource
Examples
describe google_sql_database_instances(project: 'chef-gcp-inspec') do
its('instance_states') { should include 'RUNNABLE' }
its('instance_names') { should include 'my-database' }
end
Test that there are no more than a specified number of zones available for the project
describe google_sql_database_instances(project: 'chef-inspec-gcp') do
its('count') { should be <= 100}
end
Test that a database instance exists in the expected zone
describe google_sql_database_instances(project: 'chef-inspec-gcp') do
its('instance_zones') { should include "us-east1-b" }
end
Test that a database instance exists in the expected region
describe google_sql_database_instances(project: 'chef-inspec-gcp') do
its('instance_regions') { should include "us-east1" }
end
Confirm that at least one database instance is in “RUNNABLE” state
describe google_sql_database_instances(project: 'chef-inspec-gcp') do
its('instance_states') { should include "RUNNABLE" }
end
Test that a subset of all database instances matching “mysqldb” are all version “MYSQL57”
google_sql_database_instances(project: 'chef-inspec-gcp').where(instance_name: /mysqldb/).instance_names.each do |instance_name|
describe google_sql_database_instance(project: 'chef-inspec-gcp', database: instance_name) do
it { should exist }
its('database_version') { should eq "MYSQL_5_7" }
end
end
Properties
Properties that can be accessed from the google_sql_database_instances
resource:
See googlesqldatabase_instance.md for more detailed information
* backend_types
: an array of google_sql_database_instance
backendtype
* `connectionnames: an array of
googlesqldatabaseinstance` connectionname
* instance_versions
: an array of google_sql_database_instance
databaseversion
* `failoverreplicas: an array of
googlesqldatabaseinstance` failoverreplica
* instance_types
: an array of google_sql_database_instance
instancetype
* `ipaddresses: an array of
googlesqldatabaseinstance` ipaddresses
* ipv6_addresses
: an array of google_sql_database_instance
ipv6address
* `masterinstancenames: an array of
googlesqldatabaseinstancemaster_instance_name
*
maxdisksizes: an array of
googlesqldatabaseinstance` maxdisksize
* `instancenames: an array of
googlesqldatabaseinstancename
*
instanceregions: an array of
googlesqldatabaseinstanceregion
*
replicaconfigurations: an array of
googlesqldatabaseinstance` replicaconfiguration
* settings
: an array of google_sql_database_instance
settings
* instance_zones
: an array of google_sql_database_instance
gcezone
* `instancestates: an array of
googlesqldatabase_instance` state
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 Cloud SQL Admin API is enabled for the current project.