azure_migrate_project_solutions resource
Use the azure_migrate_project_solutions InSpec audit resource to test the properties related to all Azure Migrate Project solutions within a project.
Azure REST API version, endpoint, and HTTP client parameters
This resource interacts with API versions supported by the resource provider.
You can specify the api_version as a resource parameter to use a specific version of the Azure REST API.
If you don’t specify an API version, this resource uses the latest version available.
For more information about API versioning, see the azure_generic_resource.
By default, this resource uses the azure_cloud global endpoint and default HTTP client settings.
You can override these settings if you need to connect to a different Azure environment (such as Azure Government or Azure China).
For more information about configuration options, see the resource pack README.
Syntax
An azure_migrate_project_solutions resource block returns all Azure Migrate Project solutions within a project.
describe azure_migrate_project_solutions(resource_group: 'RESOURCE_GROUP', project_name: 'PROJECT_NAME') do
#...
end
Parameters
resource_group- Azure resource group where the targeted resource resides.
project_name- Azure Migrate Project.
The parameter set that should be provided for a valid query is resource_group and project_name.
Properties
ids- Path reference to the project solutions.
Field:
id names- Unique names for all project solutions.
Field:
name types- Type of the objects.
Field:
type - A list of eTags for all the project solutions.
Field:
eTag properties- A list of properties for all the project solutions.
Field:
properties tools- The tool used in all the solutions.
Field:
tool purposes- The purpose of all the solutions.
Field:
purpose goals- The goals of all the solutions.
Field:
goal statuses- The current status of all the solutions.
Field:
status cleanupStates- The cleanup states of all the solutions.
Field:
cleanupState summaries- The summary of all the solutions.
Field:
summary details- The details of all the solutions.
Field:
details instanceTypes- The Instance types.
Field:
instanceType databasesAssessedCounts- The count of databases assessed.
Field:
databasesAssessedCount databaseInstancesAssessedCounts- The count of database instances assessed.
Field:
databaseInstancesAssessedCount migrationReadyCounts- The count of databases ready for migration.
Field:
migrationReadyCount groupCounts- The count of groups reported by all the solutions.
Field:
groupCount assessmentCounts- The count of assessments reported by all the solutions.
Field:
assessmentCount extendedDetails- The extended details reported by all the solutions.
Field:
extendedDetails
Note
Examples
Loop through Migrate Project solutions by their names:
azure_migrate_project_solutions(resource_group: 'RESOURCE_GROUP', project_name: 'PROJECT_NAME').names.each do |name|
describe azure_migrate_project_solution(resource_group: 'RESOURCE_GROUP', project_name: 'PROJECT_NAME', name: name) do
it { should exist }
end
end
Test to ensure the Migrate Project solutions for assessment:
describe azure_migrate_project_solutions(resource_group: 'RESOURCE_GROUP', project_name: 'PROJECT_NAME').where(purpose: 'Assessment') do
it { should exist }
end
Matchers
For a full list of available matchers, see our Universal Matchers page.This resource has the following special matchers.
not_exists
# Should not exist if no Migrate Project solutions are present in the project and the resource group.
describe azure_migrate_project_solutions(resource_group: 'RESOURCE_GROUP', project_name: 'PROJECT_NAME') do
it { should_not exist }
end
exists
# Should exist if the filter returns at least one Migrate Project solution in the project and the resource group.
describe azure_migrate_project_solutions(resource_group: 'RESOURCE_GROUP', project_name: 'PROJECT_NAME') do
it { should exist }
end
Azure permissions
Your Service Principal must be set up with at least a contributor role on the subscription you wish to test.