func Create()

in pkg/api/platformapi/instanceconfigapi/create.go [58:87]


func Create(params CreateParams) (*models.VersionedIDResponse, error) {
	if err := params.Validate(); err != nil {
		return nil, err
	}

	if params.Config.ID != "" {
		if err := Update(UpdateParams{
			API:    params.API,
			ID:     params.Config.ID,
			Config: params.Config,
			Region: params.Region,
		}); err != nil {
			return nil, apierror.Wrap(err)
		}
		return &models.VersionedIDResponse{ID: ec.String(params.Config.ID)}, nil
	}

	res, err := params.API.V1API.PlatformConfigurationInstances.CreateInstanceConfiguration(
		platform_configuration_instances.NewCreateInstanceConfigurationParams().
			WithContext(api.WithRegion(context.Background(), params.Region)).
			WithInstance(params.Config),
		params.AuthWriter,
	)

	if err != nil {
		return nil, apierror.Wrap(err)
	}

	return res.Payload, nil
}