func dataSourceAlibabacloudStackEcsDedicatedHosts()

in alibabacloudstack/data_source_apsarastack_ecs_dedicatedhosts.go [14:267]


func dataSourceAlibabacloudStackEcsDedicatedHosts() *schema.Resource {
	return &schema.Resource{
		Read: dataSourceAlibabacloudStackEcsDedicatedHostsRead,
		Schema: map[string]*schema.Schema{
			"name_regex": {
				Type:         schema.TypeString,
				Optional:     true,
				ValidateFunc: validation.StringIsValidRegExp,
				ForceNew:     true,
			},
			"ids": {
				Type:     schema.TypeList,
				Optional: true,
				ForceNew: true,
				Elem:     &schema.Schema{Type: schema.TypeString},
				Computed: true,
			},
			"dedicated_host_id": {
				Type:     schema.TypeString,
				Optional: true,
				ForceNew: true,
			},
			"names": {
				Type:     schema.TypeList,
				Elem:     &schema.Schema{Type: schema.TypeString},
				Computed: true,
			},
			"dedicated_host_name": {
				Type:     schema.TypeString,
				Optional: true,
				ForceNew: true,
			},
			"dedicated_host_type": {
				Type:     schema.TypeString,
				Optional: true,
				ForceNew: true,
			},
			"operation_locks": {
				Type:     schema.TypeList,
				Optional: true,
				ForceNew: true,
				Elem: &schema.Resource{
					Schema: map[string]*schema.Schema{
						"lock_reason": {
							Type:     schema.TypeString,
							Optional: true,
							ForceNew: true,
						},
					},
				},
			},
			"resource_group_id": {
				Type:     schema.TypeString,
				Optional: true,
				ForceNew: true,
			},
			"status": {
				Type:         schema.TypeString,
				Optional:     true,
				ForceNew:     true,
				ValidateFunc: validation.StringInSlice([]string{"Available", "Creating", "PermanentFailure", "Released", "UnderAssessment"}, false),
			},
			"tags": tagsSchema(),
			"zone_id": {
				Type:     schema.TypeString,
				Optional: true,
				ForceNew: true,
			},
			"output_file": {
				Type:     schema.TypeString,
				Optional: true,
			},
			"hosts": {
				Type:     schema.TypeList,
				Computed: true,
				Elem: &schema.Resource{
					Schema: map[string]*schema.Schema{
						"action_on_maintenance": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"auto_placement": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"auto_release_time": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"capacity": {
							Type:     schema.TypeList,
							Computed: true,
							Elem: &schema.Resource{
								Schema: map[string]*schema.Schema{
									"available_local_storage": {
										Type:     schema.TypeInt,
										Computed: true,
									},
									"available_memory": {
										Type:     schema.TypeFloat,
										Computed: true,
									},
									"available_vcpus": {
										Type:     schema.TypeInt,
										Computed: true,
									},
									"available_vgpus": {
										Type:     schema.TypeInt,
										Computed: true,
									},
									"local_storage_category": {
										Type:     schema.TypeString,
										Computed: true,
									},
									"total_local_storage": {
										Type:     schema.TypeInt,
										Computed: true,
									},
									"total_memory": {
										Type:     schema.TypeFloat,
										Computed: true,
									},
									"total_vcpus": {
										Type:     schema.TypeInt,
										Computed: true,
									},
									"total_vgpus": {
										Type:     schema.TypeInt,
										Computed: true,
									},
								},
							},
						},
						"cores": {
							Type:     schema.TypeInt,
							Computed: true,
						},
						"cpu_over_commit_ratio": {
							Type:     schema.TypeFloat,
							Computed: true,
						},
						"id": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"dedicated_host_id": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"dedicated_host_name": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"dedicated_host_type": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"description": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"expired_time": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"gpu_spec": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"machine_id": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"network_attributes": {
							Type:     schema.TypeList,
							Computed: true,
							Elem: &schema.Resource{
								Schema: map[string]*schema.Schema{
									"slb_udp_timeout": {
										Type:     schema.TypeInt,
										Computed: true,
									},
									"udp_timeout": {
										Type:     schema.TypeInt,
										Computed: true,
									},
								},
							},
						},
						"operation_locks": {
							Type:     schema.TypeList,
							Computed: true,
							Elem: &schema.Resource{
								Schema: map[string]*schema.Schema{
									"lock_reason": {
										Type:     schema.TypeString,
										Computed: true,
									},
								},
							},
						},
						"payment_type": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"physical_gpus": {
							Type:     schema.TypeInt,
							Computed: true,
						},
						"resource_group_id": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"sale_cycle": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"sockets": {
							Type:     schema.TypeInt,
							Computed: true,
						},
						"status": {
							Type:     schema.TypeString,
							Computed: true,
						},
						"supported_custom_instance_type_families": {
							Type:     schema.TypeList,
							Computed: true,
							Elem:     &schema.Schema{Type: schema.TypeString},
						},
						"supported_instance_type_families": {
							Type:     schema.TypeList,
							Computed: true,
							Elem:     &schema.Schema{Type: schema.TypeString},
						},
						"supported_instance_types_list": {
							Type:     schema.TypeList,
							Computed: true,
							Elem:     &schema.Schema{Type: schema.TypeString},
						},
						"tags": {
							Type:     schema.TypeMap,
							Computed: true,
						},
						"zone_id": {
							Type:     schema.TypeString,
							Computed: true,
						},
					},
				},
			},
		},
	}
}