func()

in internal/api/v20240610preview/nodepools_methods.go [304:356]


func (v version) NewHCPOpenShiftClusterNodePool(from *api.HCPOpenShiftClusterNodePool) api.VersionedHCPOpenShiftClusterNodePool {
	if from == nil {
		from = api.NewDefaultHCPOpenShiftClusterNodePool()
	}

	out := &NodePool{
		generated.NodePool{
			ID:       api.Ptr(from.ID),
			Name:     api.Ptr(from.Name),
			Type:     api.Ptr(from.Type),
			Location: api.Ptr(from.Location),
			Tags:     api.StringMapToStringPtrMap(from.Tags),
			Properties: &generated.NodePoolProperties{
				ProvisioningState: api.Ptr(generated.ProvisioningState(from.Properties.ProvisioningState)),
				Platform:          newNodePoolPlatformProfile(&from.Properties.Platform),
				Version:           newNodePoolVersionProfile(&from.Properties.Version),
				AutoRepair:        api.Ptr(from.Properties.AutoRepair),
				AutoScaling:       newNodePoolAutoScaling(from.Properties.AutoScaling),
				Labels:            []*generated.Label{},
				Replicas:          api.Ptr(from.Properties.Replicas),
				Taints:            []*generated.Taint{},
			},
		},
	}

	if from.SystemData != nil {
		out.SystemData = &generated.SystemData{
			CreatedBy:          api.Ptr(from.SystemData.CreatedBy),
			CreatedByType:      api.Ptr(generated.CreatedByType(from.SystemData.CreatedByType)),
			CreatedAt:          from.SystemData.CreatedAt,
			LastModifiedBy:     api.Ptr(from.SystemData.LastModifiedBy),
			LastModifiedByType: api.Ptr(generated.CreatedByType(from.SystemData.LastModifiedByType)),
			LastModifiedAt:     from.SystemData.LastModifiedAt,
		}
	}

	for k, v := range from.Properties.Labels {
		out.Properties.Labels = append(out.Properties.Labels, &generated.Label{
			Key:   api.Ptr(k),
			Value: api.Ptr(v),
		})
	}

	for _, t := range from.Properties.Taints {
		out.Properties.Taints = append(out.Properties.Taints, &generated.Taint{
			Effect: api.Ptr(generated.Effect(t.Effect)),
			Key:    api.Ptr(t.Key),
			Value:  api.Ptr(t.Value),
		})
	}

	return out
}