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