github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/arm/adapt.go (about)

     1  package arm
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/appservice"
     7  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/authorization"
     8  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/compute"
     9  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/container"
    10  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/database"
    11  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/datafactory"
    12  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/datalake"
    13  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/keyvault"
    14  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/monitor"
    15  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/network"
    16  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/securitycenter"
    17  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/storage"
    18  	"github.com/khulnasoft-lab/defsec/internal/adapters/arm/synapse"
    19  
    20  	"github.com/khulnasoft-lab/defsec/pkg/providers/azure"
    21  	scanner "github.com/khulnasoft-lab/defsec/pkg/scanners/azure"
    22  	"github.com/khulnasoft-lab/defsec/pkg/state"
    23  )
    24  
    25  // Adapt ...
    26  func Adapt(ctx context.Context, deployment scanner.Deployment) *state.State {
    27  	return &state.State{
    28  		Azure: adaptAzure(deployment),
    29  	}
    30  }
    31  
    32  func adaptAzure(deployment scanner.Deployment) azure.Azure {
    33  
    34  	return azure.Azure{
    35  		AppService:     appservice.Adapt(deployment),
    36  		Authorization:  authorization.Adapt(deployment),
    37  		Compute:        compute.Adapt(deployment),
    38  		Container:      container.Adapt(deployment),
    39  		Database:       database.Adapt(deployment),
    40  		DataFactory:    datafactory.Adapt(deployment),
    41  		DataLake:       datalake.Adapt(deployment),
    42  		KeyVault:       keyvault.Adapt(deployment),
    43  		Monitor:        monitor.Adapt(deployment),
    44  		Network:        network.Adapt(deployment),
    45  		SecurityCenter: securitycenter.Adapt(deployment),
    46  		Storage:        storage.Adapt(deployment),
    47  		Synapse:        synapse.Adapt(deployment),
    48  	}
    49  
    50  }