diff --git a/ibm/service/vpc/data_source_ibm_is_dedicated_host.go b/ibm/service/vpc/data_source_ibm_is_dedicated_host.go index db563e252c..c224e1ddd3 100644 --- a/ibm/service/vpc/data_source_ibm_is_dedicated_host.go +++ b/ibm/service/vpc/data_source_ibm_is_dedicated_host.go @@ -250,6 +250,39 @@ func DataSourceIbmIsDedicatedHost() *schema.Resource { Computed: true, Description: "The total amount of memory in gibibytes for this host.", }, + "numa": { + Type: schema.TypeList, + Computed: true, + Description: "The dedicated host NUMA configuration", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "count": { + Type: schema.TypeInt, + Computed: true, + Description: "The total number of NUMA nodes for this dedicated host", + }, + "nodes": { + Type: schema.TypeList, + Computed: true, + Description: "The NUMA nodes for this dedicated host.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "available_vcpu": { + Type: schema.TypeInt, + Computed: true, + Description: "The available VCPU for this NUMA node.", + }, + "vcpu": { + Type: schema.TypeInt, + Computed: true, + Description: "The total VCPU capacity for this NUMA node.", + }, + }, + }, + }, + }, + }, + }, "profile": { Type: schema.TypeList, Computed: true, @@ -430,7 +463,11 @@ func dataSourceIbmIsDedicatedHostRead(context context.Context, d *schema.Resourc if err = d.Set("name", dedicatedHost.Name); err != nil { return diag.FromErr(fmt.Errorf("[ERROR] Error setting name: %s", err)) } - + if dedicatedHost.Numa != nil { + if err = d.Set("numa", dataSourceDedicatedHostFlattenNumaNodes(*dedicatedHost.Numa)); err != nil { + return diag.FromErr(fmt.Errorf("[ERROR] Error setting numa nodes: %s", err)) + } + } if dedicatedHost.Profile != nil { err = d.Set("profile", dataSourceDedicatedHostFlattenProfile(*dedicatedHost.Profile)) if err != nil { @@ -603,6 +640,35 @@ func dataSourceDedicatedHostInstancesDeletedToMap(deletedItem vpcv1.InstanceRefe return deletedMap } +func dataSourceDedicatedHostFlattenNumaNodes(nodeItem vpcv1.DedicatedHostNuma) (numaNodes []map[string]interface{}) { + numaNodeMap := map[string]interface{}{} + + if nodeItem.Count != nil { + numaNodeMap["count"] = *nodeItem.Count + } + if nodeItem.Nodes != nil { + nodesList := []map[string]interface{}{} + for _, nodeItem := range nodeItem.Nodes { + nodesList = append(nodesList, dataSourceDedicatedHostNodesToMap(nodeItem)) + } + numaNodeMap["nodes"] = nodesList + } + numaNodes = append(numaNodes, numaNodeMap) + return numaNodes +} + +func dataSourceDedicatedHostNodesToMap(nodes vpcv1.DedicatedHostNumaNode) (node map[string]interface{}) { + node = map[string]interface{}{} + + if nodes.AvailableVcpu != nil { + node["available_vcpu"] = nodes.AvailableVcpu + } + if nodes.Vcpu != nil { + node["vcpu"] = nodes.Vcpu + } + return node +} + func dataSourceDedicatedHostFlattenProfile(result vpcv1.DedicatedHostProfileReference) (finalList []map[string]interface{}) { finalList = []map[string]interface{}{} finalMap := dataSourceDedicatedHostProfileToMap(result) diff --git a/ibm/service/vpc/data_source_ibm_is_dedicated_host_profile.go b/ibm/service/vpc/data_source_ibm_is_dedicated_host_profile.go index 689919680e..ac9c632c29 100644 --- a/ibm/service/vpc/data_source_ibm_is_dedicated_host_profile.go +++ b/ibm/service/vpc/data_source_ibm_is_dedicated_host_profile.go @@ -238,6 +238,11 @@ func DataSourceIbmIsDedicatedHostProfile() *schema.Resource { }, }, }, + "status": { + Type: schema.TypeString, + Computed: true, + Description: "The status of the dedicated host profile.", + }, "vcpu_architecture": { Type: schema.TypeList, Computed: true, @@ -354,7 +359,9 @@ func dataSourceIbmIsDedicatedHostProfileRead(context context.Context, d *schema. return diag.FromErr(fmt.Errorf("[ERROR] Error setting disks %s", err)) } } - + if dedicatedHostProfile.Status != nil { + d.Set("status", dedicatedHostProfile.Status) + } if err = d.Set("family", dedicatedHostProfile.Family); err != nil { return diag.FromErr(fmt.Errorf("[ERROR] Error setting family: %s", err)) } diff --git a/ibm/service/vpc/data_source_ibm_is_dedicated_host_profiles.go b/ibm/service/vpc/data_source_ibm_is_dedicated_host_profiles.go index 32405f10c6..fb7478fd73 100644 --- a/ibm/service/vpc/data_source_ibm_is_dedicated_host_profiles.go +++ b/ibm/service/vpc/data_source_ibm_is_dedicated_host_profiles.go @@ -245,6 +245,11 @@ func DataSourceIbmIsDedicatedHostProfiles() *schema.Resource { }, }, }, + "status": { + Type: schema.TypeString, + Computed: true, + Description: "The status of the dedicated host profile.", + }, "vcpu_architecture": { Type: schema.TypeList, @@ -467,6 +472,9 @@ func dataSourceDedicatedHostProfileCollectionProfilesToMap(profilesItem vpcv1.De socketCountList = append(socketCountList, socketCountMap) profilesMap["socket_count"] = socketCountList } + if profilesItem.Status != nil { + profilesMap["status"] = *profilesItem.Status + } if profilesItem.SupportedInstanceProfiles != nil { supportedInstanceProfilesList := []map[string]interface{}{} for _, supportedInstanceProfilesItem := range profilesItem.SupportedInstanceProfiles { diff --git a/ibm/service/vpc/data_source_ibm_is_dedicated_hosts.go b/ibm/service/vpc/data_source_ibm_is_dedicated_hosts.go index f775e26284..bf3d709b20 100644 --- a/ibm/service/vpc/data_source_ibm_is_dedicated_hosts.go +++ b/ibm/service/vpc/data_source_ibm_is_dedicated_hosts.go @@ -275,6 +275,39 @@ func DataSourceIbmIsDedicatedHosts() *schema.Resource { Computed: true, Description: "The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words.", }, + "numa": { + Type: schema.TypeList, + Computed: true, + Description: "The dedicated host NUMA configuration", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "count": { + Type: schema.TypeInt, + Computed: true, + Description: "The total number of NUMA nodes for this dedicated host", + }, + "nodes": { + Type: schema.TypeList, + Computed: true, + Description: "The NUMA nodes for this dedicated host.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "available_vcpu": { + Type: schema.TypeInt, + Computed: true, + Description: "The available VCPU for this NUMA node.", + }, + "vcpu": { + Type: schema.TypeInt, + Computed: true, + Description: "The total VCPU capacity for this NUMA node.", + }, + }, + }, + }, + }, + }, + }, "profile": { Type: schema.TypeList, Computed: true, @@ -509,6 +542,9 @@ func dataSourceDedicatedHostCollectionDedicatedHostsToMap(dedicatedHostsItem vpc if dedicatedHostsItem.Name != nil { dedicatedHostsMap["name"] = dedicatedHostsItem.Name } + if dedicatedHostsItem.Numa != nil { + dedicatedHostsMap["numa"] = dataSourceDedicatedHostFlattenNumaNodes(*dedicatedHostsItem.Numa) + } if dedicatedHostsItem.Profile != nil { profileList := []map[string]interface{}{} profileMap := dataSourceDedicatedHostCollectionDedicatedHostsProfileToMap(*dedicatedHostsItem.Profile) diff --git a/ibm/service/vpc/data_source_ibm_is_instance.go b/ibm/service/vpc/data_source_ibm_is_instance.go index 7eda5dac54..42cae79e89 100644 --- a/ibm/service/vpc/data_source_ibm_is_instance.go +++ b/ibm/service/vpc/data_source_ibm_is_instance.go @@ -531,6 +531,12 @@ func DataSourceIBMISInstance() *schema.Resource { Description: "Instance memory", }, + "numa_count": { + Type: schema.TypeInt, + Computed: true, + Description: "The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`.", + }, + isInstanceStatus: { Type: schema.TypeString, Computed: true, @@ -779,7 +785,9 @@ func instanceGetByName(d *schema.ResourceData, meta interface{}, name string) er } d.Set(isInstanceMemory, *instance.Memory) - + if instance.NumaCount != nil { + d.Set("numa_count", *instance.NumaCount) + } gpuList := make([]map[string]interface{}, 0) if instance.Gpu != nil { currentGpu := map[string]interface{}{} diff --git a/ibm/service/vpc/data_source_ibm_is_instance_profile.go b/ibm/service/vpc/data_source_ibm_is_instance_profile.go index 24815b68dc..2eee0d374a 100644 --- a/ibm/service/vpc/data_source_ibm_is_instance_profile.go +++ b/ibm/service/vpc/data_source_ibm_is_instance_profile.go @@ -486,6 +486,24 @@ func DataSourceIBMISInstanceProfile() *schema.Resource { }, }, }, + "numa_count": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "type": { + Type: schema.TypeString, + Computed: true, + Description: "The type for this profile field.", + }, + "value": { + Type: schema.TypeInt, + Computed: true, + Description: "The value for this profile field.", + }, + }, + }, + }, "port_speed": { Type: schema.TypeList, Computed: true, @@ -504,6 +522,11 @@ func DataSourceIBMISInstanceProfile() *schema.Resource { }, }, }, + "status": { + Type: schema.TypeString, + Computed: true, + Description: "The status of the instance profile.", + }, isInstanceVCPUArchitecture: &schema.Schema{ Type: schema.TypeList, Computed: true, @@ -638,6 +661,9 @@ func instanceProfileGet(d *schema.ResourceData, meta interface{}, name string) e } } + if profile.Status != nil { + d.Set("status", profile.Status) + } if profile.Bandwidth != nil { err = d.Set("bandwidth", dataSourceInstanceProfileFlattenBandwidth(*profile.Bandwidth.(*vpcv1.InstanceProfileBandwidth))) if err != nil { @@ -696,6 +722,12 @@ func instanceProfileGet(d *schema.ResourceData, meta interface{}, name string) e return err } } + if profile.NumaCount != nil { + err = d.Set("numa_count", dataSourceInstanceProfileFlattenNumaCount(*profile.NumaCount.(*vpcv1.InstanceProfileNumaCount))) + if err != nil { + return err + } + } if profile.PortSpeed != nil { err = d.Set("port_speed", dataSourceInstanceProfileFlattenPortSpeed(*profile.PortSpeed.(*vpcv1.InstanceProfilePortSpeed))) if err != nil { @@ -1182,3 +1214,24 @@ func dataSourceInstanceProfileTotalVolumeBandwidthToMap(bandwidthItem vpcv1.Inst return bandwidthMap } + +func dataSourceInstanceProfileFlattenNumaCount(result vpcv1.InstanceProfileNumaCount) (finalList []map[string]interface{}) { + finalList = []map[string]interface{}{} + finalMap := dataSourceInstanceProfileNumaCountToMap(result) + finalList = append(finalList, finalMap) + + return finalList +} + +func dataSourceInstanceProfileNumaCountToMap(numaItem vpcv1.InstanceProfileNumaCount) (numaMap map[string]interface{}) { + numaMap = map[string]interface{}{} + + if numaItem.Type != nil { + numaMap["type"] = numaItem.Type + } + if numaItem.Value != nil { + numaMap["value"] = numaItem.Value + } + + return numaMap +} diff --git a/ibm/service/vpc/data_source_ibm_is_instance_profiles.go b/ibm/service/vpc/data_source_ibm_is_instance_profiles.go index 6fc76a2cc4..83b7788780 100644 --- a/ibm/service/vpc/data_source_ibm_is_instance_profiles.go +++ b/ibm/service/vpc/data_source_ibm_is_instance_profiles.go @@ -487,6 +487,24 @@ func DataSourceIBMISInstanceProfiles() *schema.Resource { }, }, }, + "numa_count": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "type": { + Type: schema.TypeString, + Computed: true, + Description: "The type for this profile field.", + }, + "value": { + Type: schema.TypeInt, + Computed: true, + Description: "The value for this profile field.", + }, + }, + }, + }, "port_speed": { Type: schema.TypeList, Computed: true, @@ -505,6 +523,11 @@ func DataSourceIBMISInstanceProfiles() *schema.Resource { }, }, }, + "status": { + Type: schema.TypeString, + Computed: true, + Description: "The status of the instance profile.", + }, "vcpu_architecture": { Type: schema.TypeList, Computed: true, @@ -640,6 +663,9 @@ func instanceProfilesList(d *schema.ResourceData, meta interface{}) error { l["architecture_values"] = profile.OsArchitecture.Values } } + if profile.Status != nil { + l["status"] = *profile.Status + } if profile.Bandwidth != nil { bandwidthList := []map[string]interface{}{} bandwidthMap := dataSourceInstanceProfileBandwidthToMap(*profile.Bandwidth.(*vpcv1.InstanceProfileBandwidth)) @@ -689,6 +715,12 @@ func instanceProfilesList(d *schema.ResourceData, meta interface{}) error { networkInterfaceCountList = append(networkInterfaceCountList, networkInterfaceCountMap) l["network_interface_count"] = networkInterfaceCountList } + if profile.NumaCount != nil { + numaCountList := []map[string]interface{}{} + numaCountMap := dataSourceInstanceProfileNumaCountToMap(*profile.NumaCount.(*vpcv1.InstanceProfileNumaCount)) + numaCountList = append(numaCountList, numaCountMap) + l["numa_count"] = numaCountList + } if profile.PortSpeed != nil { portSpeedList := []map[string]interface{}{} portSpeedMap := dataSourceInstanceProfilePortSpeedToMap(*profile.PortSpeed.(*vpcv1.InstanceProfilePortSpeed)) diff --git a/ibm/service/vpc/data_source_ibm_is_instances.go b/ibm/service/vpc/data_source_ibm_is_instances.go index cb5d92ac4d..cd6efdb9e7 100644 --- a/ibm/service/vpc/data_source_ibm_is_instances.go +++ b/ibm/service/vpc/data_source_ibm_is_instances.go @@ -116,6 +116,11 @@ func DataSourceIBMISInstances() *schema.Resource { Computed: true, Description: "Instance memory", }, + "numa_count": { + Type: schema.TypeInt, + Computed: true, + Description: "The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`.", + }, isInstanceMetadataServiceEnabled: { Type: schema.TypeBool, Computed: true, @@ -835,6 +840,9 @@ func instancesList(d *schema.ResourceData, meta interface{}) error { l["crn"] = *instance.CRN l["name"] = *instance.Name l["memory"] = *instance.Memory + if instance.NumaCount != nil { + l["numa_count"] = *instance.NumaCount + } if instance.MetadataService != nil { l[isInstanceMetadataServiceEnabled] = *instance.MetadataService.Enabled metadataService := []map[string]interface{}{} diff --git a/ibm/service/vpc/resource_ibm_is_dedicated_host.go b/ibm/service/vpc/resource_ibm_is_dedicated_host.go index 37f76ba67c..09d1fec740 100644 --- a/ibm/service/vpc/resource_ibm_is_dedicated_host.go +++ b/ibm/service/vpc/resource_ibm_is_dedicated_host.go @@ -76,6 +76,39 @@ func ResourceIbmIsDedicatedHost() *schema.Resource { ValidateFunc: validate.InvokeValidator("ibm_is_dedicated_host", "name"), Description: "The unique user-defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words.", }, + "numa": { + Type: schema.TypeList, + Computed: true, + Description: "The dedicated host NUMA configuration", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "count": { + Type: schema.TypeInt, + Computed: true, + Description: "The total number of NUMA nodes for this dedicated host", + }, + "nodes": { + Type: schema.TypeList, + Computed: true, + Description: "The NUMA nodes for this dedicated host.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "available_vcpu": { + Type: schema.TypeInt, + Computed: true, + Description: "The available VCPU for this NUMA node.", + }, + "vcpu": { + Type: schema.TypeInt, + Computed: true, + Description: "The total VCPU capacity for this NUMA node.", + }, + }, + }, + }, + }, + }, + }, "profile": { Type: schema.TypeString, Required: true, @@ -529,6 +562,11 @@ func resourceIbmIsDedicatedHostRead(context context.Context, d *schema.ResourceD if err = d.Set("name", dedicatedHost.Name); err != nil { return diag.FromErr(fmt.Errorf("[ERROR] Error setting name: %s", err)) } + if dedicatedHost.Numa != nil { + if err = d.Set("numa", dataSourceDedicatedHostFlattenNumaNodes(*dedicatedHost.Numa)); err != nil { + return diag.FromErr(fmt.Errorf("[ERROR] Error setting numa: %s", err)) + } + } if err = d.Set("profile", *dedicatedHost.Profile.Name); err != nil { return diag.FromErr(fmt.Errorf("[ERROR] Error setting profile: %s", err)) diff --git a/ibm/service/vpc/resource_ibm_is_dedicated_host_test.go b/ibm/service/vpc/resource_ibm_is_dedicated_host_test.go index de2fdc3f39..f07d05376a 100644 --- a/ibm/service/vpc/resource_ibm_is_dedicated_host_test.go +++ b/ibm/service/vpc/resource_ibm_is_dedicated_host_test.go @@ -33,6 +33,7 @@ func TestAccIbmIsDedicatedHostBasic(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckIbmIsDedicatedHostExists(resname, conf), resource.TestCheckResourceAttr(resname, "name", dhname), + resource.TestCheckResourceAttrSet(resname, "numa"), resource.TestCheckResourceAttr(resname, "disks.#", "2"), resource.TestCheckResourceAttrSet(resname, "disks.0.name"), resource.TestCheckResourceAttrSet(resname, "disks.0.size"), diff --git a/ibm/service/vpc/resource_ibm_is_instance.go b/ibm/service/vpc/resource_ibm_is_instance.go index 27323efbc6..4e0ea22921 100644 --- a/ibm/service/vpc/resource_ibm_is_instance.go +++ b/ibm/service/vpc/resource_ibm_is_instance.go @@ -761,6 +761,12 @@ func ResourceIBMISInstance() *schema.Resource { Description: "Instance memory", }, + "numa_count": { + Type: schema.TypeInt, + Computed: true, + Description: "The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`.", + }, + isInstanceStatus: { Type: schema.TypeString, Computed: true, @@ -3301,7 +3307,9 @@ func instanceGet(d *schema.ResourceData, meta interface{}, id string) error { if instance.Image != nil { d.Set(isInstanceImage, *instance.Image.ID) } - + if instance.NumaCount != nil { + d.Set("numa_count", int(*instance.NumaCount)) + } d.Set(isInstanceStatus, *instance.Status) //set the status reasons diff --git a/ibm/service/vpc/resource_ibm_is_instance_test.go b/ibm/service/vpc/resource_ibm_is_instance_test.go index 6e6dfc69aa..5bac59cff7 100644 --- a/ibm/service/vpc/resource_ibm_is_instance_test.go +++ b/ibm/service/vpc/resource_ibm_is_instance_test.go @@ -68,6 +68,8 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE "ibm_is_instance.testacc_instance", "vcpu.#"), resource.TestCheckResourceAttrSet( "ibm_is_instance.testacc_instance", "vcpu.0.manufacturer"), + resource.TestCheckResourceAttrSet( + "ibm_is_instance.testacc_instance", "numa_count"), ), }, }, diff --git a/website/docs/d/is_dedicated_host.html.markdown b/website/docs/d/is_dedicated_host.html.markdown index b6a1750efa..106e8bca13 100644 --- a/website/docs/d/is_dedicated_host.html.markdown +++ b/website/docs/d/is_dedicated_host.html.markdown @@ -94,6 +94,15 @@ In addition to all argument reference list, you can access the following attribu - `lifecycle_state` - (String) The lifecycle state of the dedicated host resource. - `memory` - (String) The total amount of memory in `GB`` for this host. - `name` - (String) The unique user defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. +- `numa` - The dedicated host NUMA configuration. + + Nested scheme for `numa`: + - `count` - (Integer) The total number of NUMA nodes for this dedicated host. + - `nodes` - (List) The NUMA nodes for this dedicated host. + + Nested scheme for `nodes`: + - `available_vcpu` - (Integer) The available VCPU for this NUMA node. + - `vcpu` - (Integer) The total VCPU capacity for this NUMA node. - `profile` - (List) The profile this dedicated host uses. Nested scheme for `profile`: diff --git a/website/docs/d/is_dedicated_host_profile.html.markdown b/website/docs/d/is_dedicated_host_profile.html.markdown index c6303b20f0..d59aa5ad9c 100644 --- a/website/docs/d/is_dedicated_host_profile.html.markdown +++ b/website/docs/d/is_dedicated_host_profile.html.markdown @@ -57,6 +57,7 @@ In addition to all argument reference list, you can access the following attribu Nested scheme for `size`: - `type` - (String) The type for this profile field. - `value` - (String) The size of the disk in GB (gigabytes). + - `status` - (String) The status of the dedicated host profile. Values coule be, `previous`: This dedicated host profile is an older revision, but remains provisionable and usable. `current`: This profile is the latest revision. - `supported_instance_interface_types` - (List) Nested `supported_instance_interface_types` blocks have the following structure: Nested scheme for `supported_instance_interface_types`: diff --git a/website/docs/d/is_dedicated_host_profiles.html.markdown b/website/docs/d/is_dedicated_host_profiles.html.markdown index d058e79684..33e9106932 100644 --- a/website/docs/d/is_dedicated_host_profiles.html.markdown +++ b/website/docs/d/is_dedicated_host_profiles.html.markdown @@ -86,6 +86,7 @@ Review the argument references that you can specify for your data source. Nested scheme for `supported_instance_profiles`: - `href` - (String) The URL for this virtual server instance profile. - `name` - (String) The global unique name for this virtual server instance profile. + - `status` - (String) The status of the dedicated host profile. Values coule be, `previous`: This dedicated host profile is an older revision, but remains provisionable and usable. `current`: This profile is the latest revision. - `vcpu_architecture` - (List) Nested `vcpu_architecture` blocks have the following structure: Nested scheme for `vcpu_architecture`: diff --git a/website/docs/d/is_dedicated_hosts.html.markdown b/website/docs/d/is_dedicated_hosts.html.markdown index dc6cfbb8ae..03032ac7a1 100644 --- a/website/docs/d/is_dedicated_hosts.html.markdown +++ b/website/docs/d/is_dedicated_hosts.html.markdown @@ -94,6 +94,15 @@ In addition to all argument reference list, you can access the following attribu - `lifecycle_state` - (String) The lifecycle state of the dedicated host resource. - `memory` - (String) The total amount of memory in GB for this host. - `name` - (String) The unique user defined name for this dedicated host. If unspecified, the name will be a hyphenated list of randomly-selected words. + - `numa` - The dedicated host NUMA configuration. + + Nested scheme for `numa`: + - `count` - (Integer) The total number of NUMA nodes for this dedicated host. + - `nodes` - (List) The NUMA nodes for this dedicated host. + + Nested scheme for `nodes`: + - `available_vcpu` - (Integer) The available VCPU for this NUMA node. + - `vcpu` - (Integer) The total VCPU capacity for this NUMA node. - `profile` - (List) The profile this dedicated host uses. Nested scheme for `profile`: diff --git a/website/docs/d/is_instance.html.markdown b/website/docs/d/is_instance.html.markdown index eef79787eb..c330914f9a 100644 --- a/website/docs/d/is_instance.html.markdown +++ b/website/docs/d/is_instance.html.markdown @@ -172,6 +172,7 @@ In addition to all argument reference list, you can access the following attribu - `primary_ipv4_address` - (String) The IPv4 address range that the subnet uses. Same as `primary_ip.0.address` - `subnet` - (String) The ID of the subnet that is used in the more network interface. - `security_groups` (List)A list of security groups that were created for the interface. +- `numa_count` - (Integer) The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. - `password` - (String) The password that you can use to access your instance. - `placement_target`- (List) The placement restrictions for the virtual server instance. diff --git a/website/docs/d/is_instance_profile.html.markdown b/website/docs/d/is_instance_profile.html.markdown index 3350195366..e34bb233cd 100644 --- a/website/docs/d/is_instance_profile.html.markdown +++ b/website/docs/d/is_instance_profile.html.markdown @@ -89,6 +89,7 @@ In addition to the argument reference list, you can access the following attribu - `default` - (String) The disk interface used for attaching the disk.The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. - `type` - (String) The type for this profile field. - `values` - (String) The supported disk interfaces used for attaching the disk. +- `status` - (String) The status of the instance profile. Values coule be, `previous`: This instance profile is an older revision, but remains provisionable and usable. `current`: This profile is the latest revision. - `family` - (String) The family of the virtual server instance profile. - `gpu_count` - (List) Nested `gpu_count` blocks have the following structure: Nested scheme for `gpu_count`: @@ -133,6 +134,7 @@ In addition to the argument reference list, you can access the following attribu - `max` - (Integer) The maximum number of vNICs supported by an instance using this profile. - `min` - (Integer) The minimum number of vNICs supported by an instance using this profile. - `type` - (String) The type for this profile field, Ex: range or dependent. +- `numa_count` - (Integer) The number of NUMA nodes for the Instance Profile. - `port_speed` - (List) Nested `port_speed` blocks have the following structure: Nested scheme for `port_speed`: diff --git a/website/docs/d/is_instance_profiles.html.markdown b/website/docs/d/is_instance_profiles.html.markdown index 2b0a8ba980..e59d5a0a45 100644 --- a/website/docs/d/is_instance_profiles.html.markdown +++ b/website/docs/d/is_instance_profiles.html.markdown @@ -80,6 +80,7 @@ You can access the following attribute references after your data source is crea - `default` - (String) The disk interface used for attaching the disk. The enumerated values for this property are expected to expand in the future. When processing this property, check for and log unknown values. Optionally, halt processing and surface the error, or bypass the resource on which the unexpected property value was encountered. - `type` - (String) The type for this profile field. - `values` - (String) The supported disk interfaces used for attaching the disk. + - `status` - (String) The status of the instance profile. Values coule be, `previous`: This instance profile is an older revision, but remains provisionable and usable. `current`: This profile is the latest revision. - `gpu_count` - (List) Nested `gpu_count` blocks have the following structure: Nested scheme for `gpu_count`: @@ -134,7 +135,7 @@ You can access the following attribute references after your data source is crea - `max` - (Integer) The maximum number of vNICs supported by an instance using this profile. - `min` - (Integer) The minimum number of vNICs supported by an instance using this profile. - `type` - (String) The type for this profile field, Ex: range or dependent. - + - `numa_count` - (Integer) The number of NUMA nodes for the Instance Profile. - `port_speed` - (List) Nested `port_speed` blocks have the following structure: Nested scheme for `port_speed`: diff --git a/website/docs/d/is_instances.html.markdown b/website/docs/d/is_instances.html.markdown index 94a14a428d..42a5e07edb 100644 --- a/website/docs/d/is_instances.html.markdown +++ b/website/docs/d/is_instances.html.markdown @@ -128,6 +128,7 @@ In addition to all argument reference list, you can access the following attribu - `primary_ipv4_address` - (String) The IPv4 address range that the subnet uses. Same as `primary_ip.0.address` - `subnet` - (String) The ID of the subnet that is used in the more network interface. - `security_groups` (List)A list of security groups that were created for the interface. + - `numa_count` - (Integer) The number of NUMA nodes this virtual server instance is provisioned on. This property may be absent if the instance's `status` is not `running`. - `placement_target`- (List) The placement restrictions for the virtual server instance. Nested scheme for `placement_target`: diff --git a/website/docs/r/is_dedicated_host.html.markdown b/website/docs/r/is_dedicated_host.html.markdown index 206adc44c7..68a637ba6a 100644 --- a/website/docs/r/is_dedicated_host.html.markdown +++ b/website/docs/r/is_dedicated_host.html.markdown @@ -108,6 +108,15 @@ In addition to all argument reference list, you can access the following attribu - `lifecycle_state`- (String) The lifecycle state of the dedicated host resource. - `memory`- (String) The total amount of memory in `GB` for this host. - `name`- (String) The unique user defined name for this dedicated host. +- `numa` - The NUMA configuration for this dedicated host. + + Nested scheme for `numa`: + - `count` - (Integer) The total number of NUMA nodes for this dedicated host. + - `nodes` - (List) The NUMA nodes for this dedicated host. + + Nested scheme for `nodes`: + - `available_vcpu` - (Integer) The available VCPU for this NUMA node. + - `vcpu` - (Integer) The total VCPU capacity for this NUMA node. - `profile`- (String) The profile this dedicated host uses. - `provisionable`- (String) Indicates whether this dedicated host is available for instance creation. - `resource_group`- (String) The unique identifier of the resource group for this dedicated host. diff --git a/website/docs/r/is_instance.html.markdown b/website/docs/r/is_instance.html.markdown index 83a28e4b31..6720a5d1ca 100644 --- a/website/docs/r/is_instance.html.markdown +++ b/website/docs/r/is_instance.html.markdown @@ -575,6 +575,7 @@ In addition to all argument reference list, you can access the following attribu - `resource_type` - (String) The resource type. - `id` - (String) The ID of the instance. - `memory`- (Integer) The amount of memory that is allocated to the instance in gigabytes. +- `numa_count` - (Integer) The number of NUMA nodes this instance is provisioned on. This property may be absent if the instance's status is not running. - `network_interfaces`- (List of Strings) A list of more network interfaces that are attached to the instance. Nested scheme for `network_interfaces`: