parent
							
								
									e45695e07f
								
							
						
					
					
						commit
						c422910bbe
					
				| @ -0,0 +1,50 @@ | ||||
| /* | ||||
| Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved. | ||||
| Authors: | ||||
| Petr Krutov, <petr.krutov@digitalenergy.online> | ||||
| Stanislav Solovev, <spsolovev@digitalenergy.online> | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
| 
 | ||||
|     http://www.apache.org/licenses/LICENSE-2.0
 | ||||
| 
 | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package cloudbroker | ||||
| 
 | ||||
| import ( | ||||
| 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudapi/disks" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudbroker/grid" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudbroker/image" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudbroker/pcidevice" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudbroker/sep" | ||||
| ) | ||||
| 
 | ||||
| func NewDataSourcesMap() map[string]*schema.Resource { | ||||
| 	return map[string]*schema.Resource{ | ||||
| 		"decort_image":             image.DataSourceImage(), | ||||
| 		"decort_disk":              disks.DataSourceDisk(), | ||||
| 		"decort_grid":              grid.DataSourceGrid(), | ||||
| 		"decort_grid_list":         grid.DataSourceGridList(), | ||||
| 		"decort_image_list":        image.DataSourceImageList(), | ||||
| 		"decort_image_list_stacks": image.DataSourceImageListStacks(), | ||||
| 		"decort_pcidevice":         pcidevice.DataSourcePcidevice(), | ||||
| 		"decort_pcidevice_list":    pcidevice.DataSourcePcideviceList(), | ||||
| 		"decort_sep_list":          sep.DataSourceSepList(), | ||||
| 		"decort_sep":               sep.DataSourceSep(), | ||||
| 		"decort_sep_consumption":   sep.DataSourceSepConsumption(), | ||||
| 		"decort_sep_disk_list":     sep.DataSourceSepDiskList(), | ||||
| 		"decort_sep_config":        sep.DataSourceSepConfig(), | ||||
| 		"decort_sep_pool":          sep.DataSourceSepPool(), | ||||
| 		// "decort_pfw": dataSourcePfw(),
 | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,39 @@ | ||||
| /* | ||||
| Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved. | ||||
| Authors: | ||||
| Petr Krutov, <petr.krutov@digitalenergy.online> | ||||
| Stanislav Solovev, <spsolovev@digitalenergy.online> | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
| 
 | ||||
|     http://www.apache.org/licenses/LICENSE-2.0
 | ||||
| 
 | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package cloudbroker | ||||
| 
 | ||||
| import ( | ||||
| 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudbroker/image" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudbroker/pcidevice" | ||||
| 	"github.com/rudecs/terraform-provider-decort/internal/service/cloudbroker/sep" | ||||
| ) | ||||
| 
 | ||||
| func NewRersourcesMap() map[string]*schema.Resource { | ||||
| 	return map[string]*schema.Resource{ | ||||
| 		"decort_image":         image.ResourceImage(), | ||||
| 		"decort_virtual_image": image.ResourceVirtualImage(), | ||||
| 		"decort_cdrom_image":   image.ResourceCDROMImage(), | ||||
| 		"decort_delete_images": image.ResourceDeleteImages(), | ||||
| 		"decort_pcidevice":     pcidevice.ResourcePcidevice(), | ||||
| 		"decort_sep":           sep.ResourceSep(), | ||||
| 		"decort_sep_config":    sep.ResourceSepConfig(), | ||||
| 	} | ||||
| } | ||||
| @ -0,0 +1,55 @@ | ||||
| /* | ||||
| Copyright (c) 2019-2022 Digital Energy Cloud Solutions LLC. All Rights Reserved. | ||||
| Authors: | ||||
| Petr Krutov, <petr.krutov@digitalenergy.online> | ||||
| Stanislav Solovev, <spsolovev@digitalenergy.online> | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
| 
 | ||||
|     http://www.apache.org/licenses/LICENSE-2.0
 | ||||
| 
 | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package provider | ||||
| 
 | ||||
| import ( | ||||
| 	"os" | ||||
| 	"strconv" | ||||
| 
 | ||||
| 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" | ||||
| 	ca "github.com/rudecs/terraform-provider-decort/internal/provider/cloudapi" | ||||
| 	cb "github.com/rudecs/terraform-provider-decort/internal/provider/cloudbroker" | ||||
| ) | ||||
| 
 | ||||
| func selectSchema(isDatasource bool) map[string]*schema.Resource { | ||||
| 	adminMode, err := strconv.ParseBool(os.Getenv("DECORT_ADMIN_MODE")) | ||||
| 	if err != nil { | ||||
| 		adminMode = false | ||||
| 	} | ||||
| 	if isDatasource { | ||||
| 		return selectDataSourceSchema(adminMode) | ||||
| 	} | ||||
| 	return selectResourceSchema(adminMode) | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func selectDataSourceSchema(adminMode bool) map[string]*schema.Resource { | ||||
| 	if adminMode { | ||||
| 		return cb.NewDataSourcesMap() | ||||
| 	} | ||||
| 	return ca.NewDataSourcesMap() | ||||
| } | ||||
| 
 | ||||
| func selectResourceSchema(adminMode bool) map[string]*schema.Resource { | ||||
| 	if adminMode { | ||||
| 		return cb.NewRersourcesMap() | ||||
| 	} | ||||
| 	return ca.NewRersourcesMap() | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue